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/predicate.rb,
lib/dry/logic/rule/attr.rb,
lib/dry/logic/rule/each.rb,
lib/dry/logic/predicates.rb,
lib/dry/logic/rule/check.rb,
lib/dry/logic/rule/group.rb,
lib/dry/logic/rule/value.rb,
lib/dry/logic/rule/result.rb,
lib/dry/logic/predicate_set.rb,
lib/dry/logic/rule_compiler.rb,
lib/dry/logic/rule/composite.rb
Defined Under Namespace
Modules: PredicateSet, Predicates
Classes: Predicate, Result, Rule, RuleCompiler
Constant Summary
collapse
- VERSION =
'0.1.1'.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(input, value, rule) ⇒ Object
3
4
5
6
7
8
9
|
# File 'lib/dry/logic/result.rb', line 3
def self.Result(input, value, rule)
case value
when Result then value.class.new(value.input, value.success?, rule)
when Array then Result::Set.new(input, value, rule)
else Result::Value.new(input, value, rule)
end
end
|