Sha256: c02465c92c9b061305fd37071b1de16bc1b254a5ec9f943ef9e1053c25668143
Contents?: true
Size: 1.27 KB
Versions: 1
Compression:
Stored size: 1.27 KB
Contents
require 'sanford-protocol/response_status' # The Response class models a specific type of Sanford message body and provides # a defined structure for it. A response requires a message body to contain a # status and some data. module Sanford; end module Sanford::Protocol class Response < Struct.new(:status, :data) def self.parse(hash) self.new(hash['status'], hash['data']) end def initialize(status, data = nil) super(build_status(status), data) end def code; status.code; end def code=(value); status.code = value; end def message; status.message; end def message=(value); status.message = value; end def to_s; status.to_s; end def to_hash { 'status' => [status.code, status.message], 'data' => data } end def inspect reference = '0x0%x' % (self.object_id << 1) "#<#{self.class}:#{reference} @status=#{status} @data=#{data.inspect}>" end def ==(other) if other.kind_of?(self.class) self.to_hash == other.to_hash else super end end private def build_status(status) return status if status.kind_of?(ResponseStatus) ResponseStatus.new(*status) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sanford-protocol-0.12.0 | lib/sanford-protocol/response.rb |