Class: Strategize::RuleGroup
- Inherits:
-
Object
- Object
- Strategize::RuleGroup
- Defined in:
- lib/strategize/rule_group.rb
Instance Method Summary collapse
- #add(predicate) ⇒ Object
- #evaluate(subject) ⇒ Object
-
#initialize ⇒ RuleGroup
constructor
A new instance of RuleGroup.
Constructor Details
#initialize ⇒ RuleGroup
Returns a new instance of RuleGroup.
3 4 5 |
# File 'lib/strategize/rule_group.rb', line 3 def initialize @rules = [] end |
Instance Method Details
#add(predicate) ⇒ Object
7 8 9 10 |
# File 'lib/strategize/rule_group.rb', line 7 def add(predicate) predicate = Rule.new(predicate) if predicate.is_a?(Proc) @rules.push(predicate) end |
#evaluate(subject) ⇒ Object
12 13 14 |
# File 'lib/strategize/rule_group.rb', line 12 def evaluate(subject) @rules.all? { |r| r.evaluate(subject) } end |