为所有任务耙定制参数?

Mis*_*a M 3 ruby rake arguments

我想传递一个参数rake独立于我运行的任务.

例如:

rake my_arg=foo
rake my_arg=foo :install
rake my_arg=foo :upgrade
rake my_arg=foo :bar
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

mu *_*ort 5

您可以像这样发送参数:

rake some_task arg1=value arg2=value
Run Code Online (Sandbox Code Playgroud)

然后从ENVrake任务中拉出命名参数:

arg1 = ENV['arg1']
arg2 = ENV['arg2']
Run Code Online (Sandbox Code Playgroud)

您还可以提供更多传统的命令行开关,如下所示:

rake some_task -- --arg1=value --arg2=value
Run Code Online (Sandbox Code Playgroud)

然后使用OptionParser(或其他一些选项解析器)来解压缩ARGV.--如果你想使用开关,不要忘记额外的,这将告诉rake停止解析命令行作为开关.