class MessageDriver::Middleware::BlockMiddleware
Attributes
on_consume_block[R]
on_publish_block[R]
Public Class Methods
new(destination, opts)
click to toggle source
Calls superclass method
MessageDriver::Middleware::Base::new
# File lib/message_driver/middleware/block_middleware.rb, line 6 def initialize(destination, opts) super(destination) raise ArgumentError, 'you must provide at least one of :on_publish and :on_consume' \ unless opts.keys.any? { |k| [:on_publish, :on_consume].include? k } @on_publish_block = opts[:on_publish] @on_consume_block = opts[:on_consume] end
Public Instance Methods
on_consume(body, headers, properties)
click to toggle source
# File lib/message_driver/middleware/block_middleware.rb, line 18 def on_consume(body, headers, properties) delegate_to_block(on_consume_block, body, headers, properties) end
on_publish(body, headers, properties)
click to toggle source
# File lib/message_driver/middleware/block_middleware.rb, line 14 def on_publish(body, headers, properties) delegate_to_block(on_publish_block, body, headers, properties) end
Private Instance Methods
delegate_to_block(block, body, headers, properties)
click to toggle source
# File lib/message_driver/middleware/block_middleware.rb, line 24 def delegate_to_block(block, body, headers, properties) if block.nil? [body, headers, properties] else block.call(body, headers, properties) end end