Class: SixthSense::Adapters::RSpec::CodeUnitExtractor
- Inherits:
-
Object
- Object
- SixthSense::Adapters::RSpec::CodeUnitExtractor
- Defined in:
- lib/sixth_sense/adapters/rspec.rb
Instance Method Summary collapse
- #code_unit ⇒ Object
-
#initialize(path) ⇒ CodeUnitExtractor
constructor
A new instance of CodeUnitExtractor.
Constructor Details
#initialize(path) ⇒ CodeUnitExtractor
Returns a new instance of CodeUnitExtractor.
336 337 338 339 |
# File 'lib/sixth_sense/adapters/rspec.rb', line 336 def initialize(path) @path = path @ast = Prism.parse_file(path).value end |
Instance Method Details
#code_unit ⇒ Object
341 342 343 344 345 346 347 348 349 350 351 352 353 354 |
# File 'lib/sixth_sense/adapters/rspec.rb', line 341 def code_unit constants = [] methods = [] walk(@ast) do |node| constants << constant_name(node) if node.is_a?(Prism::ClassNode) || node.is_a?(Prism::ModuleNode) methods << node.name.to_s if node.is_a?(Prism::DefNode) end Model::CodeUnit.new( path: @path, constants: constants.compact.uniq, methods: methods.compact.uniq ) end |