Sha256: 09a7fffb72407ff9ccf231ece7f512c2a175f3612d2b582b6c9e44af5a0e749f
Contents?: true
Size: 1.06 KB
Versions: 24
Compression:
Stored size: 1.06 KB
Contents
# encoding: utf-8 module AMQ module Client module StatusMixin VALUES = [:opened, :closed, :opening, :closing].freeze class ImproperStatusError < ArgumentError def initialize(value) super("Value #{value.inspect} isn't permitted. Choose one of: #{AMQ::Client::StatusMixin::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
24 entries across 24 versions & 1 rubygems