Module: Avromatic::Model::RawSerialization::ClassMethods
- Includes:
- Decode
- Defined in:
- lib/avromatic/model/raw_serialization.rb
Instance Method Summary collapse
-
#avro_serializer ⇒ Object
Store a hash of Procs by field name (as a symbol) to convert the value before Avro serialization.
- #datum_reader ⇒ Object
- #datum_reader_class ⇒ Object
- #datum_writer ⇒ Object
- #datum_writer_class ⇒ Object
Methods included from Decode
Instance Method Details
#avro_serializer ⇒ Object
Store a hash of Procs by field name (as a symbol) to convert the value before Avro serialization. Returns the default PassthroughSerializer if a key is not present.
167 168 169 |
# File 'lib/avromatic/model/raw_serialization.rb', line 167 def avro_serializer @avro_serializer ||= Hash.new(PassthroughSerializer) end |
#datum_reader ⇒ Object
179 180 181 182 183 184 185 |
# File 'lib/avromatic/model/raw_serialization.rb', line 179 def datum_reader @datum_reader ||= begin hash = { value: datum_reader_class.new(value_avro_schema) } hash[:key] = datum_reader_class.new(key_avro_schema) if key_avro_schema hash end end |
#datum_reader_class ⇒ Object
156 157 158 |
# File 'lib/avromatic/model/raw_serialization.rb', line 156 def datum_reader_class Avromatic.use_custom_datum_reader ? Avromatic::IO::DatumReader : Avro::IO::DatumReader end |
#datum_writer ⇒ Object
171 172 173 174 175 176 177 |
# File 'lib/avromatic/model/raw_serialization.rb', line 171 def datum_writer @datum_writer ||= begin hash = { value: datum_writer_class.new(value_avro_schema) } hash[:key] = datum_writer_class.new(key_avro_schema) if key_avro_schema hash end end |
#datum_writer_class ⇒ Object
160 161 162 |
# File 'lib/avromatic/model/raw_serialization.rb', line 160 def datum_writer_class Avromatic.use_custom_datum_writer ? Avromatic::IO::DatumWriter : Avro::IO::DatumWriter end |