Sha256: 2c2d6fd7df8df779a1bca53570ef0983aecc05fa5edcc7ad07359cdbde9c0f93
Contents?: true
Size: 1.1 KB
Versions: 1
Compression:
Stored size: 1.1 KB
Contents
# The Response Status class models a code and optional message. This makes up # part of a response and provides methods for building and displaying statuses. module Sanford; end module Sanford::Protocol class ResponseStatus < Struct.new(:code_obj, :message) def initialize(code, message = nil) super(Code.new(code), message) end def code; self.code_obj.number; end alias_method :to_i, :code def code=(new_code) self.code_obj = Code.new(new_code) end def name; code_obj.name; end def to_s; code_obj.to_s; end def inspect reference = '0x0%x' % (self.object_id << 1) "#<#{self.class}:#{reference} @code=#{code_obj} @message=#{message.inspect}>" end class Code < Struct.new(:number, :name) NAMES = { 200 => 'OK', 400 => 'BAD REQUEST', 404 => 'NOT FOUND', 408 => 'TIMEOUT', 422 => 'INVALID', 500 => 'ERROR' }.freeze def initialize(number) n = number.to_i super(n, NAMES[n]) end def to_s; "[#{[number, name].compact.join(', ')}]"; end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sanford-protocol-0.12.0 | lib/sanford-protocol/response_status.rb |