Class: Ribbon::EventBus::Publishers::Publisher

Inherits:
Object
  • Object
show all
Includes:
Mixins::HasConfig, Mixins::HasInstance
Defined in:
lib/ribbon/event_bus/publishers/publisher.rb

Instance Method Summary collapse

Methods included from Mixins::HasConfig

#_has_config_config, #_has_config_load_config, included

Methods included from Mixins::HasInstance

#instance

Constructor Details

#initialize(instance = nil, params = {}) ⇒ Publisher

Returns a new instance of Publisher.



8
9
10
11
# File 'lib/ribbon/event_bus/publishers/publisher.rb', line 8

def initialize(instance=nil, params={})
  @instance = instance
  @_params = params
end

Instance Method Details

#configObject



13
14
15
# File 'lib/ribbon/event_bus/publishers/publisher.rb', line 13

def config
  @__config ||= super.merge_hash!(@_params)
end

#publish(event) ⇒ Object

#publish(event)

This method should be overridden by a subclass. Make sure to call “super” so that proper sanity checks can be performed.



23
24
25
26
27
# File 'lib/ribbon/event_bus/publishers/publisher.rb', line 23

def publish(event)
  unless event.instance == instance
    raise Errors::PublisherError, "Event for different instance"
  end
end