class Avro::Protocol::Message
Attributes
default_namespace[R]
doc[R]
errors[R]
name[R]
request[R]
response[R]
Public Class Methods
new(name, request, response, errors=nil, names=nil, default_namespace=nil, doc=nil)
click to toggle source
# File lib/avro/protocol.rb 119 def initialize(name, request, response, errors=nil, names=nil, default_namespace=nil, doc=nil) 120 @name = name 121 @default_namespace = default_namespace 122 @request = parse_request(request, names) 123 @response = parse_response(response, names) 124 @errors = parse_errors(errors, names) if errors 125 @doc = doc 126 end
Public Instance Methods
parse_errors(errors, names)
click to toggle source
# File lib/avro/protocol.rb 158 def parse_errors(errors, names) 159 unless errors.is_a?(Array) 160 raise ProtocolParseError, "Errors property not an Array: #{errors}" 161 end 162 Schema.real_parse(errors, names, default_namespace) 163 end
parse_request(request, names)
click to toggle source
# File lib/avro/protocol.rb 142 def parse_request(request, names) 143 unless request.is_a?(Array) 144 raise ProtocolParseError, "Request property not an Array: #{request.inspect}" 145 end 146 Schema::RecordSchema.new(nil, default_namespace, request, names, :request) 147 end
parse_response(response, names)
click to toggle source
# File lib/avro/protocol.rb 149 def parse_response(response, names) 150 if response.is_a?(String) && names 151 fullname = Name.make_fullname(response, default_namespace) 152 return names[fullname] if names.include?(fullname) 153 end 154 155 Schema.real_parse(response, names, default_namespace) 156 end
to_avro(names=Set.new)
click to toggle source
# File lib/avro/protocol.rb 128 def to_avro(names=Set.new) 129 { 130 'request' => request.to_avro(names), 131 'response' => response.to_avro(names) 132 }.tap do |hash| 133 hash['errors'] = errors.to_avro(names) if errors 134 hash['doc'] = @doc if @doc 135 end 136 end
to_s()
click to toggle source
# File lib/avro/protocol.rb 138 def to_s 139 Yajl.dump to_avro 140 end