class JqueryQueryBuilder::RuleGroup
Attributes
condition[RW]
rules[RW]
Public Class Methods
new(rule_group_hash)
click to toggle source
# File lib/jquery_query_builder/rule_group.rb, line 4 def initialize(rule_group_hash) self.condition = rule_group_hash['condition'] self.rules = rule_group_hash['rules'] end
Public Instance Methods
evaluate(object)
click to toggle source
# File lib/jquery_query_builder/rule_group.rb, line 9 def evaluate(object) case condition when "AND" rules.all?{|rule| get_rule_object(rule).evaluate(object) } when "OR" rules.any?{|rule| get_rule_object(rule).evaluate(object) } end end
get_rule_object(rule)
click to toggle source
# File lib/jquery_query_builder/rule_group.rb, line 18 def get_rule_object(rule) if rule['rules'].present? RuleGroup.new(rule) else Rule.new(rule) end end