Module: FastCov::StaticMap::ReferenceExtractor

Defined in:
lib/fast_cov/static_map/reference_extractor.rb

Class Method Summary collapse

Class Method Details

.extract(filename) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/fast_cov/static_map/reference_extractor.rb', line 9

def extract(filename)
  result = Prism.parse_file(filename)
  return FastCov::StaticMap::EMPTY_ARRAY unless result.success?

  reference_groups = []
  seen_groups = {}
  collect_constants(result.value, reference_groups, seen_groups, [])

  reference_groups.map do |group|
    group.map { |const_name| -const_name }.freeze
  end.freeze
end