Module: Dry::Logic

Defined in:
lib/dry/logic.rb,
lib/dry/logic/rule.rb,
lib/dry/logic/result.rb,
lib/dry/logic/version.rb,
lib/dry/logic/rule/key.rb,
lib/dry/logic/rule/set.rb,
lib/dry/logic/evaluator.rb,
lib/dry/logic/predicate.rb,
lib/dry/logic/rule/attr.rb,
lib/dry/logic/rule/each.rb,
lib/dry/logic/predicates.rb,
lib/dry/logic/result/set.rb,
lib/dry/logic/rule/check.rb,
lib/dry/logic/rule/value.rb,
lib/dry/logic/result/each.rb,
lib/dry/logic/result/multi.rb,
lib/dry/logic/result/named.rb,
lib/dry/logic/result/value.rb,
lib/dry/logic/predicate_set.rb,
lib/dry/logic/rule/negation.rb,
lib/dry/logic/rule_compiler.rb,
lib/dry/logic/rule/composite.rb

Defined Under Namespace

Modules: PredicateSet, Predicates Classes: Evaluator, Predicate, Result, Rule, RuleCompiler

Constant Summary collapse

VERSION =
'0.2.2'.freeze

Class Method Summary collapse

Class Method Details

.Predicate(block) ⇒ Object



3
4
5
6
7
8
# File 'lib/dry/logic/predicate.rb', line 3

def self.Predicate(block)
  case block
  when Method then Predicate.new(block.name, &block)
  else raise ArgumentError, 'predicate needs an :id'
  end
end

.Result(response, rule, input) ⇒ Object



3
4
5
# File 'lib/dry/logic/result.rb', line 3

def self.Result(response, rule, input)
  Result[rule].new(response, rule, input)
end