class Avrocado::Decoder

Attributes

message[R]
schema[R]

Public Class Methods

new(message, schema) click to toggle source
# File lib/avrocado/deserializer.rb, line 21
def initialize(message, schema)
  @message = message.is_a?(String) ? message.to_java_bytes : message
  @schema  = schema
end

Public Instance Methods

decoded() click to toggle source
# File lib/avrocado/deserializer.rb, line 26
def decoded
  JSON.parse reader.read(nil, decoder).to_s
end

Private Instance Methods

decoder() click to toggle source
# File lib/avrocado/deserializer.rb, line 36
def decoder
  @decoder ||= Avrocado::DecoderFactory
    .default_factory
    .create_binary_decoder(message, nil)
end
reader() click to toggle source
# File lib/avrocado/deserializer.rb, line 32
def reader
  @reader ||= Java::Avro::GenericDatumReader.new(schema)
end