From 8e2a6a31c43258fb4c7fb122894dab3a5583a776 Mon Sep 17 00:00:00 2001 From: Mark Bates Date: Thu, 23 Jul 2009 17:45:16 -0400 Subject: [PATCH] Added rake tasks to do migrations and deliver messages. --- lib/apn_on_rails.rb | 3 ++- lib/apn_on_rails/tasks/apn.rake | 17 +++++++++++++++++ lib/apn_on_rails/tasks/db.rake | 13 +++++++++++++ lib/apn_on_rails_tasks.rb | 3 +++ 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 lib/apn_on_rails/tasks/apn.rake create mode 100644 lib/apn_on_rails/tasks/db.rake create mode 100644 lib/apn_on_rails_tasks.rb diff --git a/lib/apn_on_rails.rb b/lib/apn_on_rails.rb index 81b75948..65ae52b0 100644 --- a/lib/apn_on_rails.rb +++ b/lib/apn_on_rails.rb @@ -1,3 +1,4 @@ -Dir.glob(File.join(File.dirname(__FILE__), 'apn_on_rails', '**/*.rb')).each do |f| +Dir.glob(File.join(File.dirname(__FILE__), 'apn_on_rails', '**/*.rb')).sort.each do |f| require File.expand_path(f) end + diff --git a/lib/apn_on_rails/tasks/apn.rake b/lib/apn_on_rails/tasks/apn.rake new file mode 100644 index 00000000..b2b80537 --- /dev/null +++ b/lib/apn_on_rails/tasks/apn.rake @@ -0,0 +1,17 @@ +namespace :apn do + + namespace :notifications do + + desc "Deliver all unsent APN notifications." + task :deliver => [:environment] do + notifications = APN::Notification.all(:conditions => {:sent_at => nil}) + unless notifications.empty? + include ActionView::Helpers::TextHelper + RAILS_DEFAULT_LOGGER.info "APN: Attempting to deliver #{pluralize(notifications.size, 'notification')}." + APN::Notification.send_notifications(notifications) + end + end + + end # notifications + +end # apn \ No newline at end of file diff --git a/lib/apn_on_rails/tasks/db.rake b/lib/apn_on_rails/tasks/db.rake new file mode 100644 index 00000000..f0fa6826 --- /dev/null +++ b/lib/apn_on_rails/tasks/db.rake @@ -0,0 +1,13 @@ +namespace :apn do + + namespace :db do + + desc 'Runs the migrations for apn_on_rails.' + task :migrate => [:environment] do + puts File.join(File.dirname(__FILE__), '..', '..', 'apn_on_rails', 'db', 'migrate') + ActiveRecord::Migrator.up(File.join(File.dirname(__FILE__), '..', '..', 'apn_on_rails', 'db', 'migrate')) + end + + end # db + +end # apn \ No newline at end of file diff --git a/lib/apn_on_rails_tasks.rb b/lib/apn_on_rails_tasks.rb new file mode 100644 index 00000000..2ad9a6d4 --- /dev/null +++ b/lib/apn_on_rails_tasks.rb @@ -0,0 +1,3 @@ +Dir.glob(File.join(File.dirname(__FILE__), 'apn_on_rails', 'tasks', '**/*.rake')).each do |f| + load File.expand_path(f) +end \ No newline at end of file