class AvroPinions::Codec
Constants
- SUPPORTED_WIRE_FORMATS
Attributes
schema[RW]
Public Class Methods
new(schema)
click to toggle source
# File lib/avro_pinions/codec.rb, line 23 def initialize(schema) @schema = schema end
pedantic_data(data)
click to toggle source
# File lib/avro_pinions/codec.rb, line 6 def self.pedantic_data(data) if data.respond_to?(:each_pair) data.each_pair.inject({}) do |result, (k,v)| strrep = v.to_s result[k.to_s] = if strrep.to_sym == v strrep else v end result end else data end end
Public Instance Methods
encode(data)
click to toggle source
# File lib/avro_pinions/codec.rb, line 27 def encode(data) self.send("encode_as_#{wire_format}", data) end
encode_as_single_object(data)
click to toggle source
# File lib/avro_pinions/codec.rb, line 35 def encode_as_single_object(data) soc = SingleObjectCodec.new(schema) soc.encode(self.class.pedantic_data(data)) end
wire_format()
click to toggle source
# File lib/avro_pinions/codec.rb, line 31 def wire_format AvroPinions.configuration.wire_format end