Sha256: 4e80aedebaf32837e8edb250c632a938b8a07b535d570d619b6ba719e419d848

Contents?: true

Size: 1.05 KB

Versions: 44

Compression:

Stored size: 1.05 KB

Contents

# encoding: utf-8

module AMQ
  module Client
    module Openable
      VALUES = [:opened, :closed, :opening, :closing].freeze

      class ImproperStatusError < ArgumentError
        def initialize(value)
          super("Value #{value.inspect} isn't permitted. Choose one of: #{AMQ::Client::Openable::VALUES.inspect}")
        end
      end

      attr_reader :status
      def status=(value)
        if VALUES.include?(value)
          @status = value
        else
          raise ImproperStatusError.new(value)
        end
      end

      def opened?
        @status == :opened
      end
      alias open? opened?

      def closed?
        @status == :closed
      end



      def opening?
        @status == :opening
      end

      def closing?
        @status == :closing
      end


      def opened!
        @status = :opened
      end # opened!

      def closed!
        @status = :closed
      end # closed!



      def opening!
        @status = :opening
      end # opening!

      def closing!
        @status = :closing
      end # closing!
    end
  end
end

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
amq-client-1.0.4 lib/amq/client/openable.rb
amq-client-1.0.3 lib/amq/client/openable.rb
amq-client-1.1.0.pre1 lib/amq/client/openable.rb
amq-client-1.0.2 lib/amq/client/openable.rb
amq-client-1.0.1 lib/amq/client/openable.rb
amq-client-1.0.0 lib/amq/client/openable.rb
amq-client-0.9.12 lib/amq/client/openable.rb
amq-client-0.9.11 lib/amq/client/openable.rb
amq-client-0.9.10 lib/amq/client/openable.rb
amq-client-0.9.9 lib/amq/client/openable.rb
amq-client-0.9.8 lib/amq/client/openable.rb
amq-client-0.9.7 lib/amq/client/openable.rb
amq-client-0.9.6 lib/amq/client/openable.rb
amq-client-0.9.5 lib/amq/client/openable.rb
amq-client-0.9.4 lib/amq/client/openable.rb
amq-client-1.0.0.pre2 lib/amq/client/openable.rb
amq-client-0.9.3 lib/amq/client/openable.rb
amq-client-1.0.0.pre1 lib/amq/client/openable.rb
amq-client-0.9.2 lib/amq/client/openable.rb
amq-client-0.9.1 lib/amq/client/openable.rb