Я пытался реализовать прогресс бар для задачи граблей, я захватить код прогресс бар, используя веб-сайтрубин класс ArgumentError: неверное число аргументов (1 для 0)
https://coderwall.com/p/ijr6jq/rake-progress-bar
progress_bar. гь
class ProgressBar
def initialize(total)
@total = total
@counter = 1
end
def increment
complete = sprintf("%#.2f%", ((@counter.to_f/@total.to_f) * 100))
print "\r\e[0K#{@counter}/#{@total} (#{complete})"
@counter += 1
end
end
progress_bar_test.rake
namespace :progress_bar_test do
desc "Testing progress bar"
task :start => :environment do
items = (1..1000).to_a
progress_bar = ProgressBar.new(items.size)
items.each do |item|
item.to_s ## Call a real method here, example: `item.update(foo: 'bar')`
progress_bar.increment
end
end
end
Wh ен я запустить задачу грабли я получил следующую ошибку
ArgumentError: wrong number of arguments (1 for 0)
Полное сообщение об ошибке
rake aborted!
ArgumentError: wrong number of arguments (1 for 0)
/home/user/rails_app/lib/tasks/progress_bar_test.rake:8:in `initialize'
/home/user/rails_app/lib/tasks/progress_bar_test.rake:8:in `new'
/home/user/rails_app/lib/tasks/progress_bar_test.rake:8:in `block (2 levels) in <top (required)>'
Tasks: TOP => progress_bar_test:start
(See full trace by running task with --trace)
But when i initialize the same class in IRB i did not face any problem
Любая помощь будет оценена, спасибо заранее
Не можете опубликовать больше сообщением об ошибке? – phoenix
@phoenix обновил вопрос с полным сообщением об ошибке –