Module: ModuleMapper::Map

Defined in:
lib/module_mapper/map.rb

Class Method Summary collapse

Class Method Details

.from(content:, filename:) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/module_mapper/map.rb', line 4

def self.from(content:, filename:)
  parser = Analyst.for_source(content)

  containers = parser.top_level_entities.select{|e| e.respond_to? :all_methods}
  containers << containers.map(&:classes)
  containers.flatten!.reject!{ |container| container.all_methods.empty? }

  containers.map do |container|
    {
      module_name: container.full_name,
      filename: filename
    }
  end
end