Sha256: 7c04ca41d5518f6451426e0f5fa343f5e530d8849a3e13e58d4fd32f90904831
Contents?: true
Size: 973 Bytes
Versions: 3
Compression:
Stored size: 973 Bytes
Contents
module Controll::Flow module EventMapper class PathFinder attr_accessor :event, :maps, :types NoMappingFoundError = Controll::Flow::NoMappingFoundError # event <Event> def initialize event, maps, types = [] raise ArgumentError, "Event argument must not be empty" if event.blank? raise ArgumentError, "Maps argument must not be empty" if maps.blank? @event = normalize event @types = types unless types.blank? @maps = maps end def path @path ||= mapper.map_event rescue StandardError => e raise NoMappingFoundError, "No event mapping could be found for: #{event.inspect} in: #{maps}. Cause: #{e}" end protected include Controll::Event::Helper def event_map @event_map ||= maps[event.type] || {} end def mapper @mapper ||= Controll::Flow::EventMapper::Util.new event, event_map end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
controll-0.3.2 | lib/controll/flow/event_mapper/path_finder.rb |
controll-0.3.1 | lib/controll/flow/event_mapper/path_finder.rb |
controll-0.3.0 | lib/controll/flow/event_mapper/path_finder.rb |