Class: MessageDriver::Destination::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/message_driver/destination.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(adapter, name, dest_options, message_props) ⇒ Base

Returns a new instance of Base.



6
7
8
9
10
11
# File 'lib/message_driver/destination.rb', line 6

def initialize(adapter, name, dest_options, message_props)
  @adapter = adapter
  @name = name
  @dest_options = dest_options
  @message_props = message_props
end

Instance Attribute Details

#adapterObject (readonly)

Returns the value of attribute adapter.



4
5
6
# File 'lib/message_driver/destination.rb', line 4

def adapter
  @adapter
end

#dest_optionsObject (readonly)

Returns the value of attribute dest_options.



4
5
6
# File 'lib/message_driver/destination.rb', line 4

def dest_options
  @dest_options
end

#message_propsObject (readonly)

Returns the value of attribute message_props.



4
5
6
# File 'lib/message_driver/destination.rb', line 4

def message_props
  @message_props
end

#nameObject (readonly)

Returns the value of attribute name.



4
5
6
# File 'lib/message_driver/destination.rb', line 4

def name
  @name
end

Instance Method Details

#after_initialize(_adapter_context) ⇒ Object



21
22
23
# File 'lib/message_driver/destination.rb', line 21

def after_initialize(_adapter_context)
  # does nothing, feel free to override as needed
end

#consumer_countObject



33
34
35
# File 'lib/message_driver/destination.rb', line 33

def consumer_count
  current_adapter_context.consumer_count(self)
end

#message_countObject



25
26
27
# File 'lib/message_driver/destination.rb', line 25

def message_count
  current_adapter_context.message_count(self)
end

#middlewareObject



37
38
39
# File 'lib/message_driver/destination.rb', line 37

def middleware
  @middleware ||= Middleware::MiddlewareStack.new(self)
end

#pop_message(options = {}) ⇒ Object



17
18
19
# File 'lib/message_driver/destination.rb', line 17

def pop_message(options = {})
  current_adapter_context.pop_message(self, options)
end

#publish(body, headers = {}, properties = {}) ⇒ Object



13
14
15
# File 'lib/message_driver/destination.rb', line 13

def publish(body, headers = {}, properties = {})
  current_adapter_context.publish(self, body, headers, properties)
end

#subscribe(options = {}, &consumer) ⇒ Object



29
30
31
# File 'lib/message_driver/destination.rb', line 29

def subscribe(options = {}, &consumer)
  current_adapter_context.subscribe(self, options, &consumer)
end