rails rake task - доступ к аргументам командной строки имен переменных

Хорошо, у меня есть следующая задача,

namespace :test do
  task :a do |t,args|  
    p ENV.keys
  end 
end

$ rake test:a ARG1 = "me" ARG2 = "my wife"

Приведенная выше команда отображает большой массив, т. Е. ENV.keys

ENV.keys выглядит так,

["MANPATH", "SSH_AGENT_PID",........,"BUNDLE_BIN_PATH", "RUBYOPT", "ARG1", "ARG2"]

Я хочу только "ARG1" и "ARG2", и я не хочу "MANPATH","RUBYOPT" и другие вещи. (Не "я", а "моя жена").

Имена переменных командной строки. Не ценности.

Помогите?

1 ответ

Попробуйте это так:

namespace :test do
  task :a, [:param_me, :param_wife] do |t, args|  
    p args.param_me
    p args.param_wife
  end 
end

$ rake "test:a[me, my wife]"

Вам понадобятся только двойные кавычки, если в ваших параметрах есть пробелы.

Другие вопросы по тегам