Class: Bodyguards::RuleSet

Inherits:
Object
  • Object
show all
Defined in:
lib/bodyguards/rule_set.rb

Instance Method Summary collapse

Constructor Details

#initializeRuleSet

Returns a new instance of RuleSet.



3
4
5
# File 'lib/bodyguards/rule_set.rb', line 3

def initialize
  @rules = {}
end

Instance Method Details

#add_rule_for(feature_name, rule) ⇒ Object



7
8
9
# File 'lib/bodyguards/rule_set.rb', line 7

def add_rule_for(feature_name, rule)
  rules[feature_name.to_sym] = rule
end

#evaluate(feature_name, subject) ⇒ Object



11
12
13
# File 'lib/bodyguards/rule_set.rb', line 11

def evaluate(feature_name, subject)
  rules.fetch(feature_name.to_sym).evaluate(subject)
end

#evaluate_all(subject) ⇒ Object



15
16
17
# File 'lib/bodyguards/rule_set.rb', line 15

def evaluate_all(subject)
  rules.values.any? { |rule| rule.evaluate(subject) }
end