lib/avromatic/model/raw_serialization.rb in avromatic-0.13.0 vs lib/avromatic/model/raw_serialization.rb in avromatic-0.14.0.rc0

- old
+ new

@@ -86,15 +86,18 @@ reader = schema ? custom_datum_reader(schema, key_or_value) : datum_reader[key_or_value] reader.read(decoder) end def custom_datum_reader(schema, key_or_value) - Avro::IO::DatumReader.new(schema, send("#{key_or_value}_avro_schema")) + datum_reader_class.new(schema, send("#{key_or_value}_avro_schema")) end end module ClassMethods + def datum_reader_class + Avromatic::IO::DatumReader + end # 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. def avro_serializer @@ -109,11 +112,11 @@ end end def datum_reader @datum_reader ||= begin - hash = { value: Avro::IO::DatumReader.new(value_avro_schema) } - hash[:key] = Avro::IO::DatumReader.new(key_avro_schema) if key_avro_schema + 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 include Decode