Sha256: 2fac366b2b7019579302254fe99c48e0f853372e371e32e27948c90cfd904be0

Contents?: true

Size: 1 KB

Versions: 2

Compression:

Stored size: 1 KB

Contents

# encoding: utf-8

module HireFire
  module Backend

    ##
    # Load the correct module (ActiveRecord, Mongoid or Redis)
    # based on which worker and backends are loaded
    #
    # Currently supports:
    #  - Delayed Job with ActiveRecord and Mongoid
    #  - Resque with Redis
    #
    # @return [nil]
    def self.included(base)

      ##
      # Delayed Job specific backends
      if defined?(::Delayed)
        if defined?(::Delayed::Backend::ActiveRecord::Job)
          if defined?(::ActiveRecord::Relation)
            base.send(:include, HireFire::Backend::DelayedJob::ActiveRecord)
          else
            base.send(:include, HireFire::Backend::DelayedJob::ActiveRecord2)
          end
        end

        if defined?(::Delayed::Backend::Mongoid::Job)
          base.send(:include, HireFire::Backend::DelayedJob::Mongoid)
        end
      end

      ##
      # Resque specific backends
      if defined?(::Resque)
        base.send(:include, HireFire::Backend::Resque::Redis)
      end
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
hirefire-0.1.3 lib/hirefire/backend.rb
hirefire-0.1.2 lib/hirefire/backend.rb