class Controll::Flow::EventMapper::Util
Constants
- NoMappingFoundError
Complex mapper
Attributes
event[R]
event_map[R]
Public Class Methods
new(event, event_map)
click to toggle source
# File lib/controll/flow/event_mapper/util.rb, line 8 def initialize event, event_map @event ||= normalize event unless valid_map? event_map raise ArgumentError, "Invalid redirect map: #{event_map}, must be a non-empty Hash" end @event_map ||= event_map end
Public Instance Methods
map_event()
click to toggle source
An event can also be a Symbol, in which case it is a :notice event
# File lib/controll/flow/event_mapper/util.rb, line 19 def map_event event_map.each do |path, events| return path.to_s if valid? events end raise NoMappingFoundError, "No path could be found for event: #{event.inspect} in map: #{event_map}" end
Protected Instance Methods
matcher()
click to toggle source
# File lib/controll/flow/event_mapper/util.rb, line 38 def matcher @matcher ||= Controll::Event::Matcher.new event end
valid?(events)
click to toggle source
# File lib/controll/flow/event_mapper/util.rb, line 34 def valid? events matcher.match?(events) end
valid_map?(event_map)
click to toggle source
# File lib/controll/flow/event_mapper/util.rb, line 30 def valid_map? event_map event_map.kind_of?(Hash) && !event_map.blank? end