class Announce::Adapters::ShoryukenAdapter::Subscriber

Public Instance Methods

active_job?() click to toggle source
# File lib/announce/adapters/shoryuken_adapter.rb, line 40
def active_job?
  defined?(::ActiveJob) &&
    defined?(ActiveJob::QueueAdapters::ShoryukenAdapter) &&
    ActiveJob::Base.queue_adapter ==
      ActiveJob::QueueAdapters::ShoryukenAdapter
end
register_class(worker_class) click to toggle source
# File lib/announce/adapters/shoryuken_adapter.rb, line 30
def register_class(worker_class)
  if active_job?
    Class.new(AnnounceWorker).tap do |jc|
      jc.class_eval("def job_class; #{worker_class.name}; end")
    end
  else
    worker_class
  end
end
subscribe(worker_class, subject, actions, options) click to toggle source
# File lib/announce/adapters/shoryuken_adapter.rb, line 22
def subscribe(worker_class, subject, actions, options)
  Array(actions).each do |action|
    queue_name = Queue.name_for(subject, action)
    Shoryuken.register_worker(queue_name, register_class(worker_class))
    Shoryuken.queues << queue_name
  end
end