Skip to content

Instantly share code, notes, and snippets.

@kzaitsev
Last active May 30, 2017 10:47
Show Gist options
  • Save kzaitsev/c4db936718c3bed53d9125507b300743 to your computer and use it in GitHub Desktop.
Save kzaitsev/c4db936718c3bed53d9125507b300743 to your computer and use it in GitHub Desktop.
require 'dry-types'
require 'dry-validation'
module Types
include Dry::Types.module
end
ctx = Dry::Validation.Schema do
required(:some_int).filled(Types::Strict::Int)
required(:some_bool).filled(Types::Strict::Bool)
end
val = Dry::Validation.Schema do
required(:context).schema(ctx)
end
puts val.({}).errors
# => {:context=>["is missing"]}
puts val.({}).messages
# => /Users/bugagazavr/.rbenv/versions/2.3.4/lib/ruby/gems/2.3.0/gems/dry-validation-0.10.7/lib/dry/validation/message_set.rb:113:in `[]': no implicit conversion of Symbol into Integer (TypeError)
# from /Users/bugagazavr/.rbenv/versions/2.3.4/lib/ruby/gems/2.3.0/gems/dry-validation-0.10.7/lib/dry/validation/message_set.rb:113:in `block in initialize_placeholders!'
# from /Users/bugagazavr/.rbenv/versions/2.3.4/lib/ruby/gems/2.3.0/gems/dry-validation-0.10.7/lib/dry/validation/message_set.rb:106:in `each'
# from /Users/bugagazavr/.rbenv/versions/2.3.4/lib/ruby/gems/2.3.0/gems/dry-validation-0.10.7/lib/dry/validation/message_set.rb:106:in `reduce'
# from /Users/bugagazavr/.rbenv/versions/2.3.4/lib/ruby/gems/2.3.0/gems/dry-validation-0.10.7/lib/dry/validation/message_set.rb:106:in `initialize_placeholders!'
# from /Users/bugagazavr/.rbenv/versions/2.3.4/lib/ruby/gems/2.3.0/gems/dry-validation-0.10.7/lib/dry/validation/message_set.rb:27:in `initialize'
# from /Users/bugagazavr/.rbenv/versions/2.3.4/lib/ruby/gems/2.3.0/gems/dry-validation-0.10.7/lib/dry/validation/message_set.rb:16:in `new'
# from /Users/bugagazavr/.rbenv/versions/2.3.4/lib/ruby/gems/2.3.0/gems/dry-validation-0.10.7/lib/dry/validation/message_set.rb:16:in `[]'
# from /Users/bugagazavr/.rbenv/versions/2.3.4/lib/ruby/gems/2.3.0/gems/dry-validation-0.10.7/lib/dry/validation/message_compiler.rb:36:in `call'
# from /Users/bugagazavr/.rbenv/versions/2.3.4/lib/ruby/gems/2.3.0/gems/dry-validation-0.10.7/lib/dry/validation/result.rb:53:in `message_set'
# from /Users/bugagazavr/.rbenv/versions/2.3.4/lib/ruby/gems/2.3.0/gems/dry-validation-0.10.7/lib/dry/validation/result.rb:41:in `messages'
# from 1.rb:18:in `<main>'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment