Sha256: 0917c718fa166d7f7e4f4c2ab092ca4e38ee0b6cf445aba58d2f07c1b3a54878

Contents?: true

Size: 1.05 KB

Versions: 4

Compression:

Stored size: 1.05 KB

Contents

require 'recommendable/engine'
require 'recommendable/helpers'
require 'recommendable/acts_as_recommended_to'
require 'recommendable/acts_as_recommendable'
require 'recommendable/exceptions'
require 'recommendable/railtie' if defined?(Rails)
require 'recommendable/version'
require 'hooks'
require 'sidekiq/middleware/client/unique_jobs' if defined?(Sidekiq)
require 'sidekiq/middleware/server/unique_jobs' if defined?(Sidekiq)

module Recommendable
  mattr_accessor :redis, :user_class
  mattr_writer :recommendable_classes
  
  def self.recommendable_classes
    @@recommendable_classes ||= []
  end

  def self.enqueue(user_id)
    if defined? Sidekiq
      SidekiqWorker.perform_async user_id
    elsif defined? Resque
      Resque.enqueue ResqueWorker, user_id
    elsif defined? Delayed::Job
      Delayed::Job.enqueue DelayedJobWorker.new(user_id)
    elsif defined? Rails::Queueing
      unless Rails.queue.any? { |w| w.user_id == user_id }
        Rails.queue.push RailsWorker.new(user_id)
        Rails.application.queue_consumer.start
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
recommendable-1.1.7 lib/recommendable.rb
recommendable-1.1.6 lib/recommendable.rb
recommendable-1.1.5 lib/recommendable.rb
recommendable-1.1.4 lib/recommendable.rb