class Clamour::Subscription
Attributes
configuration[R]
@return [Clamour::Configuration]
logger[R]
@return [Logger]
registry[R]
@return [Clamour::Registry]
Public Class Methods
new(configuration = Clamour.configuration, registry = Clamour.registry)
click to toggle source
@param [Clamour::Configuration] configuration
# File lib/clamour/subscription.rb, line 12 def initialize(configuration = Clamour.configuration, registry = Clamour.registry) @configuration = configuration @logger = configuration.logger @registry = registry end
Public Instance Methods
bus()
click to toggle source
# File lib/clamour/subscription.rb, line 33 def bus @bus ||= Clamour::Bus.new(configuration) end
perform()
click to toggle source
# File lib/clamour/subscription.rb, line 18 def perform bus.subscribe do |received_hash| type = received_hash[:_type] route(type, received_hash) end end
route(type, attributes)
click to toggle source
@param [String] type @param [Hash] attributes
# File lib/clamour/subscription.rb, line 27 def route(type, attributes) registry.route(type) do |handler_class, message_class| handler_class.perform(message_class.new(attributes), self) end end