Sha256: d9145902aa52829dedd42b0dd1b93a28afb7d0253c69457d72f683e03348aede

Contents?: true

Size: 490 Bytes

Versions: 2

Compression:

Stored size: 490 Bytes

Contents

module Dry
  module Validation
    class Schema
      class Check < Value
        def class
          Check
        end

        private

        def method_missing(meth, *meth_args)
          vals, args = meth_args.partition { |arg| arg.class < DSL }

          keys = [name, *vals.map(&:name)]
          predicate = [:predicate, [meth, args]]

          rule = create_rule([:check, [name, predicate, keys]])
          add_rule(rule)
          rule
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dry-validation-0.7.1 lib/dry/validation/schema/check.rb
dry-validation-0.7.0 lib/dry/validation/schema/check.rb