class Aruba::EventBus::NameResolver
Resolve name to Event name
Attributes
default_namespace[R]
resolvers[R]
Public Class Methods
new(default_namespace)
click to toggle source
# File lib/aruba/event_bus/name_resolver.rb, line 149 def initialize(default_namespace) @default_namespace = default_namespace @resolvers = [] @resolvers << ClassResolver @resolvers << StringResolver @resolvers << SymbolResolver @resolvers << FailingResolver end
Public Instance Methods
transform(event_id)
click to toggle source
# File lib/aruba/event_bus/name_resolver.rb, line 159 def transform(event_id) resolvers.find { |r| r.match? event_id }.new.transform(default_namespace, event_id) rescue => e # rubocop:disable Metrics/LineLength raise EventNameResolveError, %(Transforming "#{event_id}" into an event class failed. Supported types are: #{@resolvers.map(&:supports).flatten.join(', ')}. #{e.message}.\n\n#{e.backtrace.join("\n")}) # rubocop:enable Metrics/LineLength end