class JMESPath::Nodes::Condition
Public Class Methods
new(test, child)
click to toggle source
# File lib/jmespath/nodes/condition.rb, line 5 def initialize(test, child) @test = test @child = child end
Public Instance Methods
optimize()
click to toggle source
# File lib/jmespath/nodes/condition.rb, line 18 def optimize test = @test.optimize if (new_type = ComparatorCondition::COMPARATOR_TO_CONDITION[@test.class]) new_type.new(test.left, test.right, @child).optimize else self.class.new(test, @child.optimize) end end
visit(value)
click to toggle source
# File lib/jmespath/nodes/condition.rb, line 10 def visit(value) if JMESPath::Util.falsey?(@test.visit(value)) nil else @child.visit(value) end end