Class: EvilEvents::Shared::DelegatorResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/evil_events/shared/delegator_resolver.rb

Overview

Examples:

DelegatorResolver.new(-> { 'test' }).delegator # => 'test'
DelegatorResolver.new('test') # => InvalidProcAttributeError

Since:

  • 0.1.0

Constant Summary collapse

DelegatorResolverError =

Since:

  • 0.1.0

Class.new(StandardError)
InvalidProcAttributeError =

Since:

  • 0.1.0

Class.new(DelegatorResolverError)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(method_name_resolver) ⇒ DelegatorResolver

Returns a new instance of DelegatorResolver.

Parameters:

  • method_name_resolver (Proc)

Raises:

Since:

  • 0.1.0



24
25
26
27
# File 'lib/evil_events/shared/delegator_resolver.rb', line 24

def initialize(method_name_resolver)
  raise InvalidProcAttributeError unless method_name_resolver.is_a?(Proc)
  @method_name_resolver = method_name_resolver
end

Instance Attribute Details

#method_name_resolverProc (readonly)

Returns:

  • (Proc)

Since:

  • 0.1.0



19
20
21
# File 'lib/evil_events/shared/delegator_resolver.rb', line 19

def method_name_resolver
  @method_name_resolver
end

Instance Method Details

#delegatorString, Symbol

Returns:

  • (String, Symbol)

Since:

  • 0.1.0



32
33
34
# File 'lib/evil_events/shared/delegator_resolver.rb', line 32

def delegator
  @delegator ||= method_name_resolver.call
end