I’m working on a rake task in ruby :
namespace :generate do
desc "Export to txt"
task :txt, [:filename, :item_id] => :environment do |t, args|
puts "aaaaaaaaaaaaa #{args.length}"
puts "ssssssss #{args.size}"
puts "bbbbbbbbbb #{args}"
args.each do | arg |
puts "#{arg}"
end
end
end
First two puts don’t return anything just aaaaaaaaaaa and ssssssss is printed, however bbbbbb print does return my args and even when I go trough each argument they are printed. What am I doing wrong?
update
I started rake task like this :
rake generate:txt[Temp.txt,22]
bbbbbbbbb prints :
bbbbbbbbbb {:filename=>"Temp.txt", :item_id=>"22"}
Each loop prints :
[:filename, "Temp.txt"]
[:item_id, "22"]
argsis not anHash, is aRake::TaskArguments:puts args.class #=> Rake::TaskArgumentsprobably this class doesn’t implement
sizeandlength; converting to hash works for me:prints: