Class: Insta::Inline::CallFinder
- Inherits:
-
Prism::Visitor
- Object
- Prism::Visitor
- Insta::Inline::CallFinder
- Defined in:
- lib/insta/inline/call_finder.rb,
sig/insta/inline/call_finder.rbs
Constant Summary collapse
- METHODS =
: Array
[:assert_inline_snapshot, :match_inline_snapshot].freeze
Instance Attribute Summary collapse
-
#found_call ⇒ Prism::CallNode?
readonly
: Prism::CallNode?.
Instance Method Summary collapse
-
#covers_line?(node) ⇒ Boolean
: (Prism::Node) -> bool.
-
#initialize(target_line) ⇒ CallFinder
constructor
: (Integer) -> void.
-
#visit_call_node(node) ⇒ void
: (Prism::CallNode) -> void.
Constructor Details
#initialize(target_line) ⇒ CallFinder
: (Integer) -> void
13 14 15 16 17 18 |
# File 'lib/insta/inline/call_finder.rb', line 13 def initialize(target_line) super() @target_line = target_line @found_call = nil end |
Instance Attribute Details
#found_call ⇒ Prism::CallNode? (readonly)
: Prism::CallNode?
10 11 12 |
# File 'lib/insta/inline/call_finder.rb', line 10 def found_call @found_call end |
Instance Method Details
#covers_line?(node) ⇒ Boolean
: (Prism::Node) -> bool
30 31 32 33 34 |
# File 'lib/insta/inline/call_finder.rb', line 30 def covers_line?(node) location = node.location @target_line.between?(location.start_line, location.end_line) end |
#visit_call_node(node) ⇒ void
This method returns an undefined value.
: (Prism::CallNode) -> void
21 22 23 24 25 |
# File 'lib/insta/inline/call_finder.rb', line 21 def visit_call_node(node) @found_call = node if METHODS.include?(node.name) && covers_line?(node) super end |