Передача параметров заданию Rake из комнадной строки
Если необходимо передать параметры в задание Rake из командной строки (например при запуске Rake из cron), необходимо использовать следующий формат:
$ rake rake_task[parameter]
для передачи нескольких параметров:
$ rake rake_task[parameter1,parameter2]
Необходимо учитывать, что наименование задания и параметры должны быть одной строкой, без пробелов. Если необходимы пробелы в аргументах, наименование задания и параметры должны быть заключены в кавычки:
$ rake "rake_task[parameter1_part1 parameter1_part2,parameter2]
"
В файле задания описание должно выглядеть следующим образом:
task :name, [:first_param, :second_param]
Задание может выглядеть следующим образом:
task :name, [:first_param, :second_param] do |t, args| args.with_defaults(:first_param => "John", :second_param => "Dough") puts "First is #{args.first_param}" puts "Second is #{args.second_param}" end
Если необходимо выстраивание цепочки заданий, используется следующий формат:
task :name, [:first_param, :second_param] => [:pre_task] do |t, args| args.with_defaults(:first_param => "John", :second_param => "Dough") puts "First is #{args.first_name}" puts "Second is #{args.second_param}" end