Class: Event::NameResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/event/name_resolver.rb

Overview

Resolve name to Event name

Instance Method Summary collapse

Constructor Details

#initialize(default_namespace) ⇒ NameResolver

Returns a new instance of NameResolver.



7
8
9
# File 'lib/event/name_resolver.rb', line 7

def initialize(default_namespace)
  @default_namespace = default_namespace
end

Instance Method Details

#transform(event_id) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/event/name_resolver.rb', line 11

def transform(event_id)
  case event_id
  when Class
    event_id
  when String
    constantize(event_id)
  else
    constantize("#{@default_namespace}::#{camel_case(event_id)}")
  end
rescue => e
  raise EventNameResolveError, %(Transforming "#{event_id}" into an event class failed: #{e.message}.\n\n#{e.backtrace.join("\n")})
end