Sha256: fccdaf96c8b458419a4dfaa362d531bbd56a5587380bd76bdde504a39610e22e
Contents?: true
Size: 430 Bytes
Versions: 3
Compression:
Stored size: 430 Bytes
Contents
require 'dry/logic/rule_compiler' require 'dry/logic/predicates' require 'dry/logic/rule/predicate' module Dry module Types def self.Rule(options) rule_compiler.( options.map { |key, val| Logic::Rule::Predicate.new(Logic::Predicates[:"#{key}?"]).curry(val).to_ast } ).reduce(:and) end def self.rule_compiler @rule_compiler ||= Logic::RuleCompiler.new(Logic::Predicates) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dry-types-0.9.2 | lib/dry/types/constraints.rb |
dry-types-0.9.1 | lib/dry/types/constraints.rb |
dry-types-0.9.0 | lib/dry/types/constraints.rb |