rake taskで可変長引数を使う
rake taskで可変長引数を使う
約1年間Railsエンジニアやってて初めてrake task書いた。
その時のめも。
to_a
メソッドを使う
namespace :test_task do desc '可変長引数を受け取るtask' task :hoge, ['huga'] => :environment do |_task, args| p args.to_a p args.huga end end
実行する。
$ bundle exec rake test_task:hoge[1,2,3,4] ["1", "2", "3", "4"] "1"
args
はHash
ではなくRake::TaskArguments
であり、Rake::TaskArguments
のインスタンスメソッドである
to_a
を使うことで引数の値をすべて取得する事ができる
- リファレンス
http://www.rubydoc.info/gems/rake/12.0.0/Rake/TaskArguments#to_a-instance_method