class Prism::NodeFind::LineLambdaFind
Finds the AST node for a lambda using best-effort line matching. Used on non-CRuby implementations.
Public Instance Methods
Source
# File lib/prism/node_find.rb, line 126 def find(callable) return unless (source_location = callable.source_location) return unless (result = parse_file(source_location[0])) start_line = source_location[1] result.value.find do |node| case node when LambdaNode node.location.start_line == start_line when CallNode node.block.is_a?(BlockNode) && node.location.start_line == start_line else false end end end
Find the node for the given lambda by matching on line.