Sha256: 96340b5350bdbbaa9b07880b20c7fa21ee8ba6e7bce98a1f99ee8ba8d96a54ef

Contents?: true

Size: 501 Bytes

Versions: 3

Compression:

Stored size: 501 Bytes

Contents

module RosettaQueue

  class Destinations

    @dest = {}

    class << self

      def define
        yield self
      end

      def clear
        @dest.clear
      end

      def lookup(dest_name)
        mapping = @dest[dest_name.to_sym]
        raise "No destination mapping for '#{dest_name}' has been defined!" unless mapping
        return mapping
      end

      def map(key, dest)
        @dest[key] = dest
      end

      def queue_names
        @dest.values
      end
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rosetta_queue-0.5.2 lib/rosetta_queue/destinations.rb
rosetta_queue-0.5.0 lib/rosetta_queue/destinations.rb
rosetta_queue-0.4.0 lib/rosetta_queue/destinations.rb