class RackRabbit::Adapter

Attributes

connection_options[R]

Public Class Methods

load(options) click to toggle source
# File lib/rack-rabbit/adapter.rb, line 8
def self.load(options)
  adapter = options.delete(:adapter) || :bunny
  if adapter.is_a?(Symbol) || adapter.is_a?(String)
    adapter = case adapter.to_s.downcase.to_sym
              when :bunny
                require 'rack-rabbit/adapter/bunny'
                RackRabbit::Adapter::Bunny
              when :amqp
                require 'rack-rabbit/adapter/amqp'
                RackRabbit::Adapter::AMQP
              when :mock
                require 'rack-rabbit/adapter/mock'
                RackRabbit::Adapter::Mock
              else
                raise ArgumentError, "unknown rabbitMQ adapter #{adapter}"
              end
  end
  adapter.new(options)
end
new(options) click to toggle source
# File lib/rack-rabbit/adapter.rb, line 32
def initialize(options)
  @connection_options = options
  @started   = nil
  @connected = nil
end

Public Instance Methods

ack(delivery_tag) click to toggle source
# File lib/rack-rabbit/adapter.rb, line 76
def ack(delivery_tag)
  raise NotImplementedError, "derived classes must implement this"
end
connect() click to toggle source
# File lib/rack-rabbit/adapter.rb, line 50
def connect
  raise NotImplementedError, "derived classes must implement this"
end
connected?() click to toggle source
# File lib/rack-rabbit/adapter.rb, line 58
def connected?
  raise NotImplementedError, "derived classes must implement this"
end
disconnect() click to toggle source
# File lib/rack-rabbit/adapter.rb, line 54
def disconnect
  raise NotImplementedError, "derived classes must implement this"
end
publish(payload, properties) click to toggle source
# File lib/rack-rabbit/adapter.rb, line 66
def publish(payload, properties)
  raise NotImplementedError, "derived classes must implement this"
end
reject(delivery_tag) click to toggle source
# File lib/rack-rabbit/adapter.rb, line 80
def reject(delivery_tag)
  raise NotImplementedError, "derived classes must implement this"
end
shutdown() click to toggle source
# File lib/rack-rabbit/adapter.rb, line 42
def shutdown
  # derived classes optionally override this (e.g. to shutdown EventMachine)
end
started?() click to toggle source
# File lib/rack-rabbit/adapter.rb, line 46
def started?
  true  # derived classes optionally override this (e.g. if running inside EventMachine)
end
startup() click to toggle source
# File lib/rack-rabbit/adapter.rb, line 38
def startup
  # derived classes optionally override this (e.g. to startup EventMachine)
end
subscribe(options = {}, &block) click to toggle source
# File lib/rack-rabbit/adapter.rb, line 62
def subscribe(options = {}, &block)
  raise NotImplementedError, "derived classes must implement this"
end
with_reply_queue(&block) click to toggle source
# File lib/rack-rabbit/adapter.rb, line 70
def with_reply_queue(&block)
  raise NotImplementedError, "derived classes must implement this"
end