diff --git a/init.rb b/init.rb new file mode 100644 index 000000000..1200d4c35 --- /dev/null +++ b/init.rb @@ -0,0 +1,5 @@ +require 'delayed_job' + +config.after_initialize do + Delayed::Worker.guess_backend +end \ No newline at end of file diff --git a/lib/delayed/railtie.rb b/lib/delayed/railtie.rb index 5d6c76241..57888055d 100644 --- a/lib/delayed/railtie.rb +++ b/lib/delayed/railtie.rb @@ -4,14 +4,7 @@ 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 + Delayed::Worker.guess_backend end end end diff --git a/lib/delayed/worker.rb b/lib/delayed/worker.rb index 754ef5f22..8d69d2fd5 100644 --- a/lib/delayed/worker.rb +++ b/lib/delayed/worker.rb @@ -32,6 +32,17 @@ def self.backend=(backend) @@backend = backend silence_warnings { ::Delayed.const_set(:Job, backend) } end + + def self.guess_backend + self.backend ||= if defined?(ActiveRecord) + :active_record + elsif defined?(MongoMapper) + :mongo_mapper + else + logger.warn "Could not decide on a backend, defaulting to active_record" + :active_record + end + end def initialize(options={}) @quiet = options[:quiet] diff --git a/rails/init.rb b/rails/init.rb deleted file mode 100644 index 7c4cc30e8..000000000 --- a/rails/init.rb +++ /dev/null @@ -1,12 +0,0 @@ -require 'delayed_job' - -config.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 \ No newline at end of file