class MODL::Parser::Parsed::ParsedConditionGroup
Class to represent a parsed grammar object
Attributes
conditionsTestList[RW]
Public Class Methods
new(global)
click to toggle source
# File lib/modl/parser/parsed.rb, line 849 def initialize(global) @global = global @conditionsTestList = [] end
Public Instance Methods
enterModl_condition_group(ctx)
click to toggle source
# File lib/modl/parser/parsed.rb, line 863 def enterModl_condition_group(ctx) ctx_children = ctx.children return if ctx_children.empty? last_operator = nil ctx_children.each do |child| if child.is_a? MODLParser::Modl_condition_testContext condition_test = ParsedConditionTest.new @global child.enter_rule(condition_test) p = OpenStruct.new p.a = condition_test p.b = last_operator @conditionsTestList << p last_operator = nil else last_operator = child.text if (child.text != '') && (child.text != '}') end end end
evaluate()
click to toggle source
# File lib/modl/parser/parsed.rb, line 854 def evaluate result = false @conditionsTestList.each do |s| partial = s.a.evaluate result |= partial end result end