class EvilEvents::Core::Events::Subscriber
@api private @since 0.1.0
Constants
- Mixin
@api public @since 0.1.0
Attributes
delegator_resolver[R]
@return [EvilEvents::Shared::DelegatorResolver]
@since 0.1.0
Public Class Methods
new(subscriber, delegator_resolver = default_resolver)
click to toggle source
@param subscriber [Object] @param delegator_resolver
[EvilEvents::Shared::DelegatorResolver]
@since 0.1.0
# File lib/evil_events/core/events/subscriber.rb, line 16 def initialize(subscriber, delegator_resolver = default_resolver) @subscriber = subscriber @delegator_resolver = delegator_resolver end
Public Instance Methods
delegator()
click to toggle source
@return [String, Symbol]
@since 0.1.0
# File lib/evil_events/core/events/subscriber.rb, line 39 def delegator @delegator ||= delegator_resolver.delegator end
notify(event)
click to toggle source
@param event [EvilEvents::Core::Events::AbstractEvent] @return void
@since 0.1.0
# File lib/evil_events/core/events/subscriber.rb, line 25 def notify(event) source_object.public_send(delegator, event) end
source_object()
click to toggle source
@return [Object]
@since 0.1.0
# File lib/evil_events/core/events/subscriber.rb, line 32 def source_object @subscriber end
Private Instance Methods
default_resolver()
click to toggle source
@return [EvilEvents::Shared::DelegatorResolver]
@since 0.1.0
# File lib/evil_events/core/events/subscriber.rb, line 48 def default_resolver delegation = -> { EvilEvents::Core::Bootstrap[:config].settings.subscriber.default_delegator } EvilEvents::Shared::DelegatorResolver.new(delegation) end