class JMESPath::Nodes::Projection
def extract_targets(_left_value)
def extract_targets(_left_value) nil end
def initialize(target, projection)
def initialize(target, projection) @target = target @projection = projection end
def optimize
def optimize if @projection.is_a?(Current) fast_instance else self.class.new(@target.optimize, @projection.optimize) end end
def visit(value)
def visit(value) if (targets = extract_targets(@target.visit(value))) list = [] targets.each do |v| vv = @projection.visit(v) list << vv unless vv.nil? end list end end