Skip to content

Instantly share code, notes, and snippets.

@andreaseger
Created July 13, 2016 11:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andreaseger/3125a44ba68407fc4fd988972dc6609c to your computer and use it in GitHub Desktop.
Save andreaseger/3125a44ba68407fc4fd988972dc6609c to your computer and use it in GitHub Desktop.
#!/usr/bin/env ruby
require "bundler/inline"
gemfile true do
source "https://rubygems.org"
gem "dry-validation", github: "dry-rb/dry-validation"
end
module Types
include Dry::Types.module
PrefixedString = String.constructor { |val| "foo_#{val}"}
end
schema = Dry::Validation.Form do
required(:name).filled(Types::PrefixedString)
end
p schema.call("name" => "foo")
__END__
Fetching git://github.com/dry-rb/dry-validation.git
Fetching gem metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Resolving dependencies...
Using concurrent-ruby 1.0.2
Using dry-equalizer 0.2.0
Using dry-monads 0.0.2
Using ice_nine 0.11.2
Using inflecto 0.0.2
Using bundler 1.12.5
Using dry-configurable 0.1.6
Using dry-container 0.3.4
Using dry-logic 0.3.0
Using dry-types 0.8.1
Using dry-validation 0.9.2 from git://github.com/dry-rb/dry-validation.git (at master@30b5f11)
/home/ane/.rbenv/versions/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/dry-types-0.8.1/lib/dry/types/constructor.rb:69:in `method_missing': undefined method `to_ast' for #<Dry::Types::Constructor:0x00559b114969c8> (NoMethodError)
Did you mean? to_s
from /home/ane/.rbenv/versions/ruby-2.3.1/lib/ruby/gems/2.3.0/bundler/gems/dry-validation-30b5f110fc0e/lib/dry/validation/schema/value.rb:162:in `node'
from /home/ane/.rbenv/versions/ruby-2.3.1/lib/ruby/gems/2.3.0/bundler/gems/dry-validation-30b5f110fc0e/lib/dry/validation/schema/rule.rb:187:in `key'
from /home/ane/.rbenv/versions/ruby-2.3.1/lib/ruby/gems/2.3.0/bundler/gems/dry-validation-30b5f110fc0e/lib/dry/validation/schema/rule.rb:167:in `block in infer_predicates'
from /home/ane/.rbenv/versions/ruby-2.3.1/lib/ruby/gems/2.3.0/bundler/gems/dry-validation-30b5f110fc0e/lib/dry/validation/schema/rule.rb:161:in `map'
from /home/ane/.rbenv/versions/ruby-2.3.1/lib/ruby/gems/2.3.0/bundler/gems/dry-validation-30b5f110fc0e/lib/dry/validation/schema/rule.rb:161:in `infer_predicates'
from /home/ane/.rbenv/versions/ruby-2.3.1/lib/ruby/gems/2.3.0/bundler/gems/dry-validation-30b5f110fc0e/lib/dry/validation/schema/rule.rb:65:in `filled'
from dry-test.rb:15:in `block in <main>'
from /home/ane/.rbenv/versions/ruby-2.3.1/lib/ruby/gems/2.3.0/bundler/gems/dry-validation-30b5f110fc0e/lib/dry/validation/schema/class_interface.rb:46:in `instance_exec'
from /home/ane/.rbenv/versions/ruby-2.3.1/lib/ruby/gems/2.3.0/bundler/gems/dry-validation-30b5f110fc0e/lib/dry/validation/schema/class_interface.rb:46:in `define'
from /home/ane/.rbenv/versions/ruby-2.3.1/lib/ruby/gems/2.3.0/bundler/gems/dry-validation-30b5f110fc0e/lib/dry/validation.rb:39:in `Schema'
from /home/ane/.rbenv/versions/ruby-2.3.1/lib/ruby/gems/2.3.0/bundler/gems/dry-validation-30b5f110fc0e/lib/dry/validation.rb:49:in `Form'
from dry-test.rb:14:in `<main>'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment