Class: Ribbon::EventBus::Publishers::ProcPublisher

Inherits:
Publisher
  • Object
show all
Defined in:
lib/ribbon/event_bus/publishers/proc_publisher.rb

Instance Method Summary collapse

Methods inherited from Publisher

#config

Methods included from Mixins::HasConfig

#_has_config_config, #_has_config_load_config, #config, included

Methods included from Mixins::HasInstance

#instance, #plugins

Constructor Details

#initialize(instance = nil, &block) ⇒ ProcPublisher

Returns a new instance of ProcPublisher.



4
5
6
7
8
9
10
# File 'lib/ribbon/event_bus/publishers/proc_publisher.rb', line 4

def initialize(instance=nil, &block)
  super

  raise Errors::MissingProcError unless block_given?
  raise Errors::InvalidArityError, 'Proc arity must be 1' unless block.arity == 1
  @_block = block
end

Instance Method Details

#new(instance = nil) ⇒ Object



12
13
14
# File 'lib/ribbon/event_bus/publishers/proc_publisher.rb', line 12

def new(instance=nil)
  self.class.new(instance, &@_block)
end

#publish(event) ⇒ Object



16
17
18
19
# File 'lib/ribbon/event_bus/publishers/proc_publisher.rb', line 16

def publish(event)
  super
  @_block.call(event)
end