Sha256: b0dcf23d6d77692208246d4897ef07f8bb251bba8afe04dc7c94761fe7bf328b

Contents?: true

Size: 1.02 KB

Versions: 1

Compression:

Stored size: 1.02 KB

Contents

module RosettaQueue
  module Gateway

    class AmqpBaseAdapter < BaseAdapter

      def initialize(adapter_settings = {})
        raise AdapterException, "Missing adapter settings" if adapter_settings.empty?
        @adapter_settings = adapter_settings
      end

      def delete(destination, opts={})
        exchange_strategy_for(destination, opts).delete(destination)
      end 

      def disconnect(message_handler); end

      def receive_once(destination, opts={})
        exchange_strategy_for(destination, opts).receive_once(destination) do |msg|
          return msg
        end
      end

      def receive_with(message_handler)
        options = options_for(message_handler)
        destination = destination_for(message_handler)
        exchange_strategy_for(destination, options).receive(destination, message_handler)
      end

      def send_message(destination, message, options=nil)
        exchange_strategy_for(destination, options).publish(destination, message)
      end

      def unsubscribe; end
    end
  end 
end 

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cwyckoff-rosetta_queue-0.2.0 lib/rosetta_queue/adapters/amqp_base.rb