Sha256: 85cc292f864009516e83856d29ab520c7da2f1bbf0324a9fdd601c2ad3b343e1

Contents?: true

Size: 624 Bytes

Versions: 1

Compression:

Stored size: 624 Bytes

Contents

module Dry
  module Validation
    class Schema
      class Value
        include Schema::Definition

        attr_reader :name, :rules

        def initialize(name)
          @name = name
          @rules = []
        end

        def each(&block)
          rule = yield(self).to_ary
          Definition::Rule.new([:each, [name, rule]])
        end

        private

        def method_missing(meth, *args, &block)
          Definition::Rule.new([:val, [name, [:predicate, [meth, args]]]])
        end

        def respond_to_missing?(meth, _include_private = false)
          true
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dry-validation-0.1.0 lib/dry/validation/schema/value.rb