Class: Strategize::RuleGroup

Inherits:
Object
  • Object
show all
Defined in:
lib/strategize/rule_group.rb

Instance Method Summary collapse

Constructor Details

#initializeRuleGroup

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