Module: AMQ::Client

Defined in:
lib/amq/client/adapter.rb,
lib/amq/client.rb,
lib/amq/client/queue.rb,
lib/amq/client/entity.rb,
lib/amq/client/channel.rb,
lib/amq/client/logging.rb,
lib/amq/client/version.rb,
lib/amq/client/exchange.rb,
lib/amq/client/openable.rb,
lib/amq/client/settings.rb,
lib/amq/client/callbacks.rb,
lib/amq/client/exceptions.rb,
lib/amq/client/async/queue.rb,
lib/amq/client/async/entity.rb,
lib/amq/client/async/adapter.rb,
lib/amq/client/async/channel.rb,
lib/amq/client/async/consumer.rb,
lib/amq/client/async/exchange.rb,
lib/amq/client/adapters/coolio.rb,
lib/amq/client/async/callbacks.rb,
lib/amq/client/framing/io/frame.rb,
lib/amq/client/handlers_registry.rb,
lib/amq/client/server_named_entity.rb,
lib/amq/client/framing/string/frame.rb,
lib/amq/client/async/adapters/coolio.rb,
lib/amq/client/adapters/event_machine.rb,
lib/amq/client/consumer_tag_generator.rb,
lib/amq/client/extensions/rabbitmq/basic.rb,
lib/amq/client/extensions/rabbitmq/cancel.rb,
lib/amq/client/extensions/rabbitmq/confirm.rb,
lib/amq/client/async/adapters/event_machine.rb,
lib/amq/client/async/extensions/rabbitmq/basic.rb,
lib/amq/client/async/extensions/rabbitmq/cancel.rb,
lib/amq/client/async/extensions/rabbitmq/confirm.rb

Overview

For overview of AMQP client adapters API, see Adapter

Defined Under Namespace

Modules: Async, Framing, Logging, Openable, ServerNamedEntity, Settings Classes: BadLengthError, ConnectionClosedError, ConsumerTagGenerator, HandlersRegistry, InconsistentDataError, MissingHandlerError, NoFinalOctetError, PossibleAuthenticationFailureError, TCPConnectionFailed, UnknownExchangeTypeError

Constant Summary collapse

Queue =
Async::Queue
ProtocolMethodHandlers =
Async::ProtocolMethodHandlers
Entity =
Async::Entity
VERSION =
"1.0.4"

Class Method Summary collapse

Class Method Details

.adaptersHash

List available adapters as a hash of { :adapter_name => metadata }, where metadata are hash with :path and :const_name keys.

Returns:

API:

  • plugin



28
29
30
# File 'lib/amq/client.rb', line 28

def self.adapters
  @adapters ||= (self.async_adapters)
end

.async_adaptersHash

List available asynchronous adapters.

Returns:

See Also:

API:

  • plugin



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/amq/client.rb', line 37

def self.async_adapters
  @async_adapters ||= {
    :eventmachine  => {
      :path       => "amq/client/async/adapters/eventmachine",
      :const_name => "Async::EventMachineClient"
    },
    :event_machine => {
      :path       => "amq/client/async/adapters/eventmachine",
      :const_name => "Async::EventMachineClient"
    },
    :coolio        => {
      :path       => "amq/client/async/adapters/coolio",
      :const_name => "Async::CoolioClient"
    }
  }
end

.connect(settings = nil, &block) ⇒ Object

Establishes connection to AMQ broker using given adapter (defaults to the socket adapter) and returns it. The new connection object is yielded to the block if it is given.

Examples:

AMQ::Client.connect(adapter: "socket") do |client|
  # Use the client.
end

Parameters:

  • parameters, including :adapter to use.

API:

  • public



65
66
67
68
69
# File 'lib/amq/client.rb', line 65

def self.connect(settings = nil, &block)
  adapter  = (settings && settings.delete(:adapter))
  adapter  = load_adapter(adapter)
  adapter.connect(settings, &block)
end

.load_adapter(adapter) ⇒ Object

Loads adapter given its name as a Symbol.

Raises:

  • When loading attempt failed (LoadError was raised).



74
75
76
77
78
79
80
81
# File 'lib/amq/client.rb', line 74

def self.load_adapter(adapter)
  meta = self.adapters[adapter.to_sym]

  require meta[:path]
  eval(meta[:const_name])
rescue LoadError
  raise InvalidAdapterNameError.new(adapter)
end