Cайт веб-разработчика, программиста Ruby on Rails ESV Corp. Екатеринбург, Москва, Санкт-Петербург, Новосибирск, Первоуральск

Админка на Ruby on Rails

Передача параметров заданию 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

формат rake-файла

Rake