Sha256: 508398b10b1d5b903e81956483bd23591e4ed0a27ec296530dabe2c21b247125

Contents?: true

Size: 423 Bytes

Versions: 5

Compression:

Stored size: 423 Bytes

Contents

module Dry
  module Validation
    class Rule::Set < Rule
      def call(input)
        Validation.Result(input, predicate.map { |rule| rule.(input) }, self)
      end

      def type
        :set
      end

      def at(*args)
        self.class.new(name, predicate.values_at(*args))
      end

      def to_ary
        [type, [name, predicate.map(&:to_ary)]]
      end
      alias_method :to_a, :to_ary
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
dry-validation-0.4.1 lib/dry/validation/rule/set.rb
dry-validation-0.4.0 lib/dry/validation/rule/set.rb
dry-validation-0.3.1 lib/dry/validation/rule/set.rb
dry-validation-0.3.0 lib/dry/validation/rule/set.rb
dry-validation-0.2.0 lib/dry/validation/rule/set.rb