module Reactor::Workers::Configuration

Constants

CONFIG

Public Instance Methods

configured?() click to toggle source
# File lib/reactor/workers/concerns/configuration.rb, line 15
def configured?
  CONFIG.all? {|field| !self.send(field).nil? }
end
event_queue() click to toggle source
# File lib/reactor/workers/concerns/configuration.rb, line 30
def event_queue
  queue_override = ENV['REACTOR_QUEUE']
  queue_override.present? ? set(queue: queue_override) : self
end
perform(data) click to toggle source
# File lib/reactor/workers/concerns/configuration.rb, line 40
def perform(data)
  raise_unconfigured! unless configured?
  return :__perform_aborted__ unless should_perform?
  event = Reactor::Event.new(data)
  if action.is_a?(Symbol)
    source.send(action, event)
  else
    action.call(event)
  end
end
perform_where_needed(data) click to toggle source
# File lib/reactor/workers/concerns/configuration.rb, line 19
def perform_where_needed(data)
  if deprecated
    return
  elsif delay > 0
    event_queue.perform_in(delay, data)
  else
    event_queue.perform_async(data)
  end
  source
end
should_perform?() click to toggle source
# File lib/reactor/workers/concerns/configuration.rb, line 51
def should_perform?
  true
end

Private Instance Methods

raise_unconfigured!() click to toggle source
# File lib/reactor/workers/concerns/configuration.rb, line 57
def raise_unconfigured!
  settings = Hash[CONFIG.map {|s| [s, self.class.send(s)] }]
  raise UnconfiguredWorkerError.new(
      "#{self.class.name} is not properly configured! Here are the settings: #{settings}"
  )
end