Я пытаюсь использовать плагин Whenever для рельсов для выполнения процесса модели в определенное время. Мое расписание.rb выглядит следующим образом:
every 1.day, :at => '5:30 am' do
runner "User.mail_out"
end
Моя модель выглядит следующим образом:
class User < ActiveRecord::Base
acts_as_authentic
def mail_out
weekday = Date.today.strftime('%A').downcase
@users = find(:conditions => "#{weekday}sub = t")
@users.each { |u| UserMailer.deliver_mail_out(u)}
end
end
Когда я пытаюсь запустить команду script/runner -e development "User.mail_out", я получаю следующую ошибку:
/var/lib/gems/1.8/gems/rails-2.3.5/lib/commands/runner.rb:48: undefined method `mail_out' for #<Class:0xb708bd50> (NoMethodError)
from (eval):1
from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `eval'
from /var/lib/gems/1.8/gems/rails-2.3.5/lib/commands/runner.rb:48
from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
from script/runner:3
Может ли кто-нибудь указать, что происходит не так? Кроме того, как я могу вручную вызвать процесс mail_out (из командной строки), чтобы проверить функциональность моей почтовой системы.
Спасибо!