Sha256: 675fc267e205f1917bc2d433d6da5a00f2fcc973af51dade5141a642249453d3

Contents?: true

Size: 807 Bytes

Versions: 13

Compression:

Stored size: 807 Bytes

Contents

module Harmoniser
  module Definition
    Binding = Data.define(:exchange_name, :destination_name, :destination_type, :opts) do
      def queue?
        [:queue, "queue"].include?(destination_type)
      end

      def exchange?
        [:exchange, "exchange"].include?(destination_type)
      end
    end

    Consumer = Data.define(:queue_name, :consumer_tag, :no_ack, :exclusive, :arguments)

    Exchange = Data.define(:name, :type, :opts) do
      def hash
        [self.class, name].hash
      end

      def eql?(other)
        self.class == other.class && name == other.name
      end
    end

    Queue = Data.define(:name, :opts) do
      def hash
        [self.class, name].hash
      end

      def eql?(other)
        self.class == other.class && name == other.name
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
harmoniser-0.12.0 lib/harmoniser/definition.rb
harmoniser-0.11.0 lib/harmoniser/definition.rb
harmoniser-0.10.0 lib/harmoniser/definition.rb
harmoniser-0.9.0 lib/harmoniser/definition.rb
harmoniser-0.8.1 lib/harmoniser/definition.rb
harmoniser-0.8.0 lib/harmoniser/definition.rb
harmoniser-0.7.0 lib/harmoniser/definition.rb
harmoniser-0.6.0 lib/harmoniser/definition.rb
harmoniser-0.5.0 lib/harmoniser/definition.rb
harmoniser-0.4.0 lib/harmoniser/definition.rb
harmoniser-0.3.0 lib/harmoniser/definition.rb
harmoniser-0.2.0 lib/harmoniser/definition.rb
harmoniser-0.1.0 lib/harmoniser/definition.rb