[Rake-devel] How to pass arguments to Rake::Task['name'].invoke ?
hongli at phusion.nl
Tue Jan 13 07:40:27 EST 2009
On Tue, Jan 13, 2009 at 12:42 PM, Dominik Mayer
<Dominik.Mayer at beagile.de> wrote:
> hallo everyone!
> i already tried to find an answer to this question on google and posted
> it on the ruby-mailing list, but i had no success so far in solving my
> i detail my problem is the following:
> i'm using rake with RubyOnRails and want to invoke a task from inside
> another task. at the moment i do this with system calls like the
> system 'rake db:migrate VERSION=0'
> `rake db:drop RAILS_ENV=test`
> what i try to do now is something like that (inside another rake-task):
> Rake::Task['db:migrate'].invoke(:version => 0) # to pass VERSION=0
> Rake::Task['db:drop'].execute(RAILS_ENV, test)
> nothing has worked so far. arguments get ignored or result in errors.
> what's the right way to do such a thing?
> thanks in advance
Arguments are passed through environment variables. Try this:
ENV['RAILS_ENV'] = "production"
Phusion | The Computer Science Company
E-mail: info at phusion.nl
Chamber of commerce no: 08173483 (The Netherlands)
More information about the Rake-devel