Sha256: a5c2591a4db292af33995693b002293de5d1e2438870fe6306976eedea24e6d5

Contents?: true

Size: 1.37 KB

Versions: 2

Compression:

Stored size: 1.37 KB

Contents

module RosettaQueue
  module Gateway

    # The null adapter lets all send messages enter into the ether and so is ideal for modes
    # when you do not want to incur the overhead of a real adapter.  You can not consume with
    # this adapter however.
    #
    # In your RosettaQueue definition block, and your using rails, you could base your adapter type on Rails.env:
    #
    # RosettaQueue::Adapter.define do |a|
    #   if Rails.env == 'production' || ENV["RUNNING_STORIES"] == "true"
    #     a.user = ""
    #     a.password = ""
    #     a.host = "localhost"
    #     a.port = 61613
    #     a.type = "stomp"
    #   else
    #     a.type = "null"
    #   end
    # end
    #
    # (if you follow this example and are using stories be sure
    # to set ENV["RUNNING_STORIES"] = "true" in your helper.rb or env.rb file)
    class NullAdapter

      def initialize(adapter_settings)
        # no-op
      end

      def disconnect
        # no-op
      end

      def receive
        raise "Null Adpater is in use, you can not consume messages!"
      end

      def receive_with(message_handler)
        raise "Null Adpater is in use, you can not consume messages!"
      end

      def send_message(queue, message, options)
        # no-op
      end

      def subscribe(queue, options)
        # no-op
      end

      def unsubscribe(queue)
        # no-op
      end


    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
bmabey-rosetta_queue-0.3.3 lib/rosetta_queue/adapters/null.rb
rosetta_queue-0.4.0 lib/rosetta_queue/adapters/null.rb