I am getting a callable proc in the following code.
To Reproduce
require 'dry-validation'
class TestContract < Dry::Validation::Contract
params do
required(:last_name).filled(:string)
optional(:birthday).maybe(:date)
end
rule(:birthday) do
key.failure('wrong date')
end
rule(:last_name) do
result.errors.to_h
end
end
validator = TestContract.new
puts validator.call(last_name: 'Last', birthday: '5.01.0202').errors.to_h
# {:birthday=>[#<Proc:0x0000000128fc0ed0 /Users/sekrett/.local/share/mise/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/dry-validation-1.10.0/lib/dry/validation/messages/resolver.rb:36 (lambda)>]}
Describe the bug
I am getting a callable proc in the following code.
To Reproduce
Expected behavior
# {:birthday=>["wrong date"]}
My environment
Workaround
Make a copy of errors:
result.errors.dup.to_h