Class: ProxyRb::EventBus::NameResolver
- Inherits:
-
Object
- Object
- ProxyRb::EventBus::NameResolver
- Defined in:
- lib/proxy_rb/event_bus/name_resolver.rb
Overview
Resolve name to Event name
Defined Under Namespace
Modules: ResolveHelpers Classes: ClassResolver, FailingResolver, StringResolver, SymbolResolver
Instance Method Summary collapse
-
#initialize(default_namespace) ⇒ NameResolver
constructor
A new instance of NameResolver.
- #transform(event_id) ⇒ Object
Constructor Details
#initialize(default_namespace) ⇒ NameResolver
Returns a new instance of NameResolver.
146 147 148 149 150 151 152 153 154 |
# File 'lib/proxy_rb/event_bus/name_resolver.rb', line 146 def initialize(default_namespace) @default_namespace = default_namespace @resolvers = [] @resolvers << ClassResolver @resolvers << StringResolver @resolvers << SymbolResolver @resolvers << FailingResolver end |
Instance Method Details
#transform(event_id) ⇒ Object
156 157 158 159 160 |
# File 'lib/proxy_rb/event_bus/name_resolver.rb', line 156 def transform(event_id) resolvers.find { |r| r.match? event_id }.new.transform(default_namespace, event_id) rescue => e raise EventNameResolveError, %(Transforming "#{event_id}" into an event class failed. Supported types are: #{@resolvers.map(&:supports).flatten.join(', ')}. #{e.}.\n\n#{e.backtrace.join("\n")}) end |