Class: RFlow::Avro
- Inherits:
-
Object
- Object
- RFlow::Avro
- Defined in:
- lib/rflow/message.rb
Overview
Utility methods for doing Avro encoding/decoding.
Class Method Summary collapse
-
.decode(reader, bytes) ⇒ Object
Decode serialized Avro data.
-
.encode(writer, message) ⇒ String
Encode data to serialized Avro.
Class Method Details
.decode(reader, bytes) ⇒ Object
Decode serialized Avro data.
17 18 19 |
# File 'lib/rflow/message.rb', line 17 def self.decode(reader, bytes) reader.read ::Avro::IO::BinaryDecoder.new(StringIO.new(bytes.force_encoding('BINARY'))) end |
.encode(writer, message) ⇒ String
Encode data to serialized Avro.
25 26 27 28 29 |
# File 'lib/rflow/message.rb', line 25 def self.encode(writer, ) String.new.force_encoding('BINARY').tap do |result| writer.write , ::Avro::IO::BinaryEncoder.new(StringIO.new(result, 'w')) end end |