diff --git a/announcement.gemspec b/announcement.gemspec index 29337cc..90c1f23 100644 --- a/announcement.gemspec +++ b/announcement.gemspec @@ -16,4 +16,6 @@ Gem::Specification.new do |s| s.files = Dir["{app,config,db,lib}/**/*", "MIT-LICENSE", "Rakefile", "README.rdoc"] s.test_files = Dir["test/**/*"] + + s.add_dependency "rufus-scheduler", "~> 3.6.0" end diff --git a/config/initializers/scheduler.rb b/config/initializers/scheduler.rb new file mode 100644 index 0000000..24f6666 --- /dev/null +++ b/config/initializers/scheduler.rb @@ -0,0 +1,9 @@ +require 'rufus-scheduler' + +scheduler = Rufus::Scheduler.new + +#return if defined?(Rails::Console) || Rails.env.test? || File.split($0).last == 'rake' + +scheduler.cron '43 2 * * *' do + system('bundle exec rake bulletin:remove_preview_bulletins') +end diff --git a/lib/tasks/bulletin_tasks.rake b/lib/tasks/bulletin_tasks.rake index cfe4f33..434204a 100644 --- a/lib/tasks/bulletin_tasks.rake +++ b/lib/tasks/bulletin_tasks.rake @@ -1,4 +1,8 @@ -# desc "Explaining what the task does" -# task :bulletin do -# # Task goes here -# end +desc 'Remove duplicated bulletins (announcements) created by preview' + +namespace :bulletin do + task :remove_preview_bulletins => [:environment] do + bulletins = Bulletin.where(is_preview: true) + bulletins.destroy_all + end +end