class Mudguard::Domain::DependencyVisitor
Transforms AST-Nodes into Dependencies
Attributes
dependencies[R]
Public Class Methods
new(consts:)
click to toggle source
# File lib/mudguard/domain/dependency_visitor.rb, line 7 def initialize(consts:) @consts = consts @dependencies = [] end
Public Instance Methods
visit_const_declaration(_, __, ___)
click to toggle source
rubocop:disable Naming/MethodParameterName
# File lib/mudguard/domain/dependency_visitor.rb, line 28 def visit_const_declaration(_, __, ___); end
visit_dependency(location, const_name, module_name)
click to toggle source
# File lib/mudguard/domain/dependency_visitor.rb, line 14 def visit_dependency(location, const_name, module_name) qualified_const_name = @consts.resolve(module_name, const_name) return [] unless qualified_const_name&.include?("::") dependency = if module_name.empty? "->#{qualified_const_name}" else "#{module_name}->#{qualified_const_name}" end @dependencies << Dependency.new(location: location, dependency: dependency) end