Class: PowerTypes::Trigger

Inherits:
Object
  • Object
show all
Defined in:
lib/power_types/patterns/observer/trigger.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(_type, _event, _handler = nil, _options = {}, &_block) ⇒ Trigger

Returns a new instance of Trigger.



5
6
7
8
9
10
11
# File 'lib/power_types/patterns/observer/trigger.rb', line 5

def initialize(_type, _event, _handler = nil, _options = {}, &_block)
  validate_params(_type, _event, _handler, _block)
  @type = _type
  @event = _event
  @handler = _handler || _block
  @options = _options
end

Instance Attribute Details

#eventObject (readonly)

Returns the value of attribute event.



3
4
5
# File 'lib/power_types/patterns/observer/trigger.rb', line 3

def event
  @event
end

#typeObject (readonly)

Returns the value of attribute type.



3
4
5
# File 'lib/power_types/patterns/observer/trigger.rb', line 3

def type
  @type
end

Instance Method Details

#call(_observer) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/power_types/patterns/observer/trigger.rb', line 13

def call(_observer)
  case @handler
  when String, Symbol
    _observer.public_send(@handler)
  when Proc
    _observer.instance_exec(&@handler)
  end
end