Class: Woods::RubyAnalyzer::ClassAnalyzer
- Inherits:
-
Object
- Object
- Woods::RubyAnalyzer::ClassAnalyzer
- Includes:
- Ast::SourceSpan, FqnBuilder
- Defined in:
- lib/woods/ruby_analyzer/class_analyzer.rb
Overview
Extracts class and module definitions from Ruby source code using the AST layer.
Produces ExtractedUnit objects with type :ruby_class or :ruby_module, including metadata about superclass, includes, extends, constants, and method count.
Instance Method Summary collapse
-
#analyze(source:, file_path:) ⇒ Array<ExtractedUnit>
Analyze source code and extract class/module units.
-
#initialize(parser: nil) ⇒ ClassAnalyzer
constructor
A new instance of ClassAnalyzer.
Constructor Details
#initialize(parser: nil) ⇒ ClassAnalyzer
Returns a new instance of ClassAnalyzer.
24 25 26 |
# File 'lib/woods/ruby_analyzer/class_analyzer.rb', line 24 def initialize(parser: nil) @parser = parser || Ast::Parser.new end |
Instance Method Details
#analyze(source:, file_path:) ⇒ Array<ExtractedUnit>
Analyze source code and extract class/module units.
33 34 35 36 37 38 |
# File 'lib/woods/ruby_analyzer/class_analyzer.rb', line 33 def analyze(source:, file_path:) root = @parser.parse(source) units = [] extract_definitions(root, source, file_path, [], units) units end |