Class: DecisionTable::Ruleset
- Inherits:
-
Object
- Object
- DecisionTable::Ruleset
- Defined in:
- lib/decision_table/ruleset.rb
Instance Attribute Summary collapse
-
#rules ⇒ Object
Returns the value of attribute rules.
Class Method Summary collapse
Instance Method Summary collapse
- #evaluate(candidate) ⇒ Object
-
#initialize(rules) ⇒ Ruleset
constructor
A new instance of Ruleset.
Constructor Details
#initialize(rules) ⇒ Ruleset
Returns a new instance of Ruleset.
6 7 8 9 10 11 12 13 |
# File 'lib/decision_table/ruleset.rb', line 6 def initialize(rules) if rules[0].is_a?(Rule) @rules = rules else keys = rules.shift @rules = rules.map { |values| Rule.new(keys, values) } end end |
Instance Attribute Details
#rules ⇒ Object
Returns the value of attribute rules.
5 6 7 |
# File 'lib/decision_table/ruleset.rb', line 5 def rules @rules end |
Class Method Details
.parse_csv(csv) ⇒ Object
20 21 22 23 |
# File 'lib/decision_table/ruleset.rb', line 20 def self.parse_csv(csv) data = CSV.parse(csv) Ruleset.new(data) end |
Instance Method Details
#evaluate(candidate) ⇒ Object
15 16 17 18 |
# File 'lib/decision_table/ruleset.rb', line 15 def evaluate(candidate) rule = rules.detect { |rule| rule.applies?(candidate) } rule.result if rule end |