Skip to content

Instantly share code, notes, and snippets.

@jgagne33
Created April 2, 2009 19:55
Show Gist options
  • Save jgagne33/89400 to your computer and use it in GitHub Desktop.
Save jgagne33/89400 to your computer and use it in GitHub Desktop.
def downgrade
self.max_photos = 3
self.coverage_id = Coverage.free.id
end
def repost
# downgrade. the logic that fills premium, should_float and payment_required is already on coverage_id setter
self.downgrade
# change expires
self.expires_at = 6.months.from_now
save!
end
desc 'Downgrade expired premium posts'
task :downgrade_expired do
require File.join(File.dirname(__FILE__)) + '/../../config/environment'
ActiveRecord::Base.establish_connection
posts = Post.find(:all , :conditions => "expires_at < '#{Time.now.to_s(:db)}' AND premium = true")
posts.each do |post|
post.downgrade
save!
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment