Как передать аргументы в задачу rake в RubyMine 3.0? - PullRequest
5 голосов
/ 27 февраля 2011

Ситуация

У меня есть задание на грабли, похожее на

desc "A rake Task"
task :give_me_gold, [:quantity,:quality] => :environment do |task, args|
 ....
end

Мне известно из командной строки, которую вы вводите

rake give_me_gold[10,24] 

для передачи параметров в грабли. Однако, когда RubyMine запускает задачу, он запускает ее так:

rake give_me_gold[quantity,quality] --trace 10,24

Шаги для воспроизведения

  1. Создание грабли, которая принимает аргументы.
  2. Установите RubyMine версии 3.0
  3. В RubyMine нажмите Инструменты -> Запустить Rake Task
  4. Введите название вашего рейк-задания. Должен появиться как «задача [опция, опция]» и нажать enter
  5. Появится диалоговое окно с запросом аргументов. Заполните его и нажмите Enter
  6. Соблюдайте команду, которую запускает RubyMine.

Вернуться к моему вопросу

Как передать аргументы в задачу rake в RubyMine 3.0?

Спасибо, что нашли время, чтобы просмотреть этот вопрос

Ответы [ 3 ]

2 голосов
/ 10 ноября 2011

Это ошибка в RubyMine. См. Выпуск № 8527 на сайте jetbrains.net

1 голос
/ 27 февраля 2011
task :give_me_gold do
  quantity = ENV['quantity']
  quality  = ENV['quality']
  puts "quantity: #{quantity}, quality: #{quality}"
end 

rake give_me_gold quantity=10 quality=24
#=> quantity: 10, quality: 24

upd

task :give_me_gold, :quantity, :quality do |t, args|
  puts "Args were: #{args}"
  quantity = args['quantity']
  quality  = args['quality']
  puts "quantity: #{quantity}, quality: #{quality}"
end

rake give_me_gold[10,24]
#=> quantity: 10, quality: 24
0 голосов
/ 14 января 2013

Хороший подход для передачи входных данных вместе со средой:

** task: upload, [: path] => [: environment] do | t, args |

puts args
YOUR_MODEL.method(args)

конец **

...