Sha256: 43c2b357621600348b742062961774991707e76529004df08d73c3d0934c4ec8

Contents?: true

Size: 375 Bytes

Versions: 4

Compression:

Stored size: 375 Bytes

Contents

module Dry
  module Logic
    class Rule::Set < Rule::Value
      alias_method :rules, :predicate

      def type
        :set
      end

      def apply(input)
        rules.map { |rule| rule.(input) }
      end

      def at(*args)
        new(rules.values_at(*args))
      end

      def to_ast
        [type, rules.map { |rule| rule.to_ast }]
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
dry-logic-0.2.3 lib/dry/logic/rule/set.rb
dry-logic-0.2.2 lib/dry/logic/rule/set.rb
dry-logic-0.2.1 lib/dry/logic/rule/set.rb
dry-logic-0.2.0 lib/dry/logic/rule/set.rb