Итак ...
1) имеет поле accepted_at
, которое вы также можете установить вручную; время «жить».
2)
class Post
scope :ready_to_be_published, lambda{ where(['accepted_at<? and not published', Time.zone.now]).order('accepted_at ASC') }
def accept!(time_to_go_live = nil)
update_attributes!(:accepted_at => time_to_go_live || Time.zone.now)
end
end
3) иметь задание всякий раз, когда , в 10:00 и 16:00 для запуска граблей
task :publish_a_post => :environment do
Post.ready_to_be_published.first.update_attributes!(:published => true)
end