lib/avromatic/model/message_decoder.rb in avromatic-2.0.1 vs lib/avromatic/model/message_decoder.rb in avromatic-2.1.0

- old
+ new

@@ -7,12 +7,16 @@ # corresponding models. class MessageDecoder MAGIC_BYTE = [0].pack('C').freeze class UnexpectedKeyError < StandardError - def initialize(schema_key) - super("Unexpected schemas #{schema_key}") + attr_reader :key_schema_name, :value_schema_name + + def initialize(key_schema_name, value_schema_name) + super("Unexpected schemas #{[key_schema_name, value_schema_name]}") + @key_schema_name = key_schema_name + @value_schema_name = value_schema_name end end class MagicByteError < StandardError def initialize(magic_byte) @@ -82,10 +86,10 @@ # message key and the second is the message value. If there is only one # arg then it is used as the message value. def extract_decode_args(*args) message_key, message_value = extract_key_and_value(*args) model_key = model_key_for_message(message_key, message_value) - raise UnexpectedKeyError.new(model_key) unless model_map.key?(model_key) + raise UnexpectedKeyError.new(*model_key) unless model_map.key?(model_key) [model_map[model_key], message_key, message_value] end def schema_name_for_data(data) validate_magic_byte!(data)