Class: RailsMcpCodeSearch::RubyParser::Visitor
- Inherits:
-
Prism::Visitor
- Object
- Prism::Visitor
- RailsMcpCodeSearch::RubyParser::Visitor
- Defined in:
- lib/rails_mcp_code_search/ruby_parser.rb
Instance Attribute Summary collapse
-
#chunks ⇒ Object
readonly
Returns the value of attribute chunks.
Instance Method Summary collapse
-
#initialize(source) ⇒ Visitor
constructor
A new instance of Visitor.
- #visit_class_node(node) ⇒ Object
- #visit_def_node(node) ⇒ Object
- #visit_module_node(node) ⇒ Object
- #visit_singleton_class_node(node) ⇒ Object
Constructor Details
#initialize(source) ⇒ Visitor
Returns a new instance of Visitor.
26 27 28 29 30 31 32 |
# File 'lib/rails_mcp_code_search/ruby_parser.rb', line 26 def initialize(source) super() @source = source @lines = source.lines @scope_stack = [] @chunks = [] end |
Instance Attribute Details
#chunks ⇒ Object (readonly)
Returns the value of attribute chunks.
24 25 26 |
# File 'lib/rails_mcp_code_search/ruby_parser.rb', line 24 def chunks @chunks end |
Instance Method Details
#visit_class_node(node) ⇒ Object
34 35 36 |
# File 'lib/rails_mcp_code_search/ruby_parser.rb', line 34 def visit_class_node(node) visit_container(node, "class") end |
#visit_def_node(node) ⇒ Object
42 43 44 45 46 |
# File 'lib/rails_mcp_code_search/ruby_parser.rb', line 42 def visit_def_node(node) name = node.name.to_s qualified = build_qualified_name(name, instance_method: true) add_chunk(node, "method", qualified) end |
#visit_module_node(node) ⇒ Object
38 39 40 |
# File 'lib/rails_mcp_code_search/ruby_parser.rb', line 38 def visit_module_node(node) visit_container(node, "module") end |
#visit_singleton_class_node(node) ⇒ Object
48 49 50 51 52 53 |
# File 'lib/rails_mcp_code_search/ruby_parser.rb', line 48 def visit_singleton_class_node(node) # Extract class methods defined inside `class << self` @in_singleton = true super @in_singleton = false end |