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