lib/datacaster/comparator.rb in datacaster-2.0.2 vs lib/datacaster/comparator.rb in datacaster-3.0.0

- old
+ new

@@ -1,24 +1,24 @@ module Datacaster class Comparator < Base - def initialize(value, name, error = nil) + def initialize(value, error_key = nil) @value = value - @name = name - @error = error || "must be equal to #{value.inspect}" + + @error_keys = ['.compare', 'datacaster.errors.compare'] + @error_keys.unshift(error_key) if error_key end - def cast(object) - intermediary_result = super(object) - object = intermediary_result.value - + def cast(object, runtime:) if @value == object Datacaster.ValidResult(object) else - Datacaster.ErrorResult([@error]) + Datacaster.ErrorResult( + I18nValues::Key.new(@error_keys, reference: @value.inspect, value: object) + ) end end def inspect - "#<Datacaster::#{@name}Comparator>" + "#<Datacaster::Comparator>" end end end