Class: Lowkey::ModuleVisitor

Inherits:
Object
  • Object
show all
Includes:
Query
Defined in:
lib/visitors/module_visitor.rb

Instance Method Summary collapse

Methods included from Query

#namespace, #query

Constructor Details

#initialize(file_proxy:, parent_map:) ⇒ ModuleVisitor

Returns a new instance of ModuleVisitor.



10
11
12
13
14
15
# File 'lib/visitors/module_visitor.rb', line 10

def initialize(file_proxy:, parent_map:)
  @file_proxy = file_proxy
  @parent_map = parent_map

  create_root_module
end

Instance Method Details

#visit(node) ⇒ Object



17
18
19
20
21
# File 'lib/visitors/module_visitor.rb', line 17

def visit(node)
  namespace = namespace(node:, parent_map:)
  module_proxy = ProxyFactory.module_proxy(node:, namespace:, file_path:, lines:)
  @file_proxy.upsert_definition(module_proxy:)
end