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.3"
Class Method Summary collapse
-
.adapters ⇒ Hash
List available adapters as a hash of { :adapter_name => metadata }, where metadata are hash with :path and :const_name keys.
-
.async_adapters ⇒ Hash
List available asynchronous adapters.
-
.connect(settings = nil, &block) ⇒ Object
Establishes connection to AMQ broker using given adapter (defaults to the socket adapter) and returns it.
-
.load_adapter(adapter) ⇒ Object
Loads adapter given its name as a Symbol.
Class Method Details
.adapters ⇒ Hash
List available adapters as a hash of { :adapter_name => metadata }, where metadata are hash with :path and :const_name keys.
28 29 30 |
# File 'lib/amq/client.rb', line 28 def self.adapters @adapters ||= (self.async_adapters) end |
.async_adapters ⇒ Hash
List available asynchronous adapters.
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.
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.
74 75 76 77 78 79 80 81 |
# File 'lib/amq/client.rb', line 74 def self.load_adapter(adapter) = self.adapters[adapter.to_sym] require [:path] eval([:const_name]) rescue LoadError raise InvalidAdapterNameError.new(adapter) end |