class Strategize::RuleGroup

A wrapper around an array of rules

Attributes

rules[R]

Public Class Methods

new(rules = []) click to toggle source

Create new Rule Group

@param rules [Array<Rule>] rules to be evaluated

# File lib/strategize/rules/rule_group.rb, line 9
def initialize(rules = [])
  @rules = rules
end

Public Instance Methods

<<(name, predicate) click to toggle source
# File lib/strategize/rules/rule_group.rb, line 21
def <<(name, predicate)
  add(name, predicate)
end
add(name, predicate) click to toggle source

Add [Rule] to the group

@param name [Symbol] a descriptive name for the rule @param predicate [Lambda] a function that returns true or false

# File lib/strategize/rules/rule_group.rb, line 17
def add(name, predicate)
  @rules.push(Rule.new(name, predicate))
end