Class: RFlow::Avro

Inherits:
Object
  • Object
show all
Defined in:
lib/rflow/message.rb

Class Method Summary collapse

Class Method Details

.decode(reader, bytes) ⇒ Object



8
9
10
# File 'lib/rflow/message.rb', line 8

def self.decode(reader, bytes)
  reader.read ::Avro::IO::BinaryDecoder.new(StringIO.new(bytes.force_encoding('BINARY')))
end

.encode(writer, message) ⇒ Object



12
13
14
15
16
# File 'lib/rflow/message.rb', line 12

def self.encode(writer, message)
  String.new.force_encoding('BINARY').tap do |result|
    writer.write message, ::Avro::IO::BinaryEncoder.new(StringIO.new(result, 'w'))
  end
end