class Querly::Pattern::Expr::Vcall
Attributes
name[R]
Public Class Methods
new(name:)
click to toggle source
# File lib/querly/pattern/expr.rb, line 309 def initialize(name:) @name = name end
Public Instance Methods
=~(pair)
click to toggle source
# File lib/querly/pattern/expr.rb, line 313 def =~(pair) node = pair.node if node.type == :lvar # We don't want lvar without method call # Skips when the node is not receiver of :send parent_node = pair.parent&.node if parent_node && (parent_node.type == :send || parent_node.type == :csend) && parent_node.children.first.equal?(node) test_node(node) end else test_node(node) end end
test_node(node)
click to toggle source
# File lib/querly/pattern/expr.rb, line 328 def test_node(node) case node&.type when :send, :csend node.children[1] == name when :lvar node.children.first == name end end