From 3e0fc41f63fafd322e28f603534eb971732767ff Mon Sep 17 00:00:00 2001 From: Morton Jonuschat Date: Wed, 7 Apr 2010 22:40:03 +0200 Subject: [PATCH] Railtie to perform Rails 3 initialization --- lib/delayed/railtie.rb | 17 +++++++++++++++++ lib/delayed_job.rb | 1 + 2 files changed, 18 insertions(+) create mode 100644 lib/delayed/railtie.rb diff --git a/lib/delayed/railtie.rb b/lib/delayed/railtie.rb new file mode 100644 index 000000000..5d6c76241 --- /dev/null +++ b/lib/delayed/railtie.rb @@ -0,0 +1,17 @@ +require 'delayed_job' +require 'rails' + +module Delayed + class Railtie < Rails::Railtie + initializer :after_initialize do + Delayed::Worker.backend ||= if defined?(ActiveRecord) + :active_record + elsif defined?(MongoMapper) + :mongo_mapper + else + Delayed::Worker.logger.warn "Could not decide on a backend, defaulting to active_record" + :active_record + end + end + end +end diff --git a/lib/delayed_job.rb b/lib/delayed_job.rb index dcd4e1a94..ef9fe0147 100644 --- a/lib/delayed_job.rb +++ b/lib/delayed_job.rb @@ -4,6 +4,7 @@ require File.dirname(__FILE__) + '/delayed/performable_method' require File.dirname(__FILE__) + '/delayed/backend/base' require File.dirname(__FILE__) + '/delayed/worker' +require File.dirname(__FILE__) + '/delayed/railtie' if defined?(::Rails::Railtie) Object.send(:include, Delayed::MessageSending) Module.send(:include, Delayed::MessageSending::ClassMethods)