Module: Solargraph::YardMap::Mapper::ToNamespace

Extended by:
Helpers
Defined in:
lib/solargraph/yard_map/mapper/to_namespace.rb

Class Method Summary collapse

Methods included from Helpers

create_closure_namespace_for, object_location

Class Method Details

.make(code_object, spec, closure = nil) ⇒ Pin::Namespace

Parameters:

  • code_object (YARD::CodeObjects::NamespaceObject)
  • spec (Gem::Specification, nil)
  • closure (Pin::Closure, nil) (defaults to: nil)

Returns:



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/solargraph/yard_map/mapper/to_namespace.rb', line 13

def self.make code_object, spec, closure = nil
  closure ||= create_closure_namespace_for(code_object, spec)
  location = object_location(code_object, spec)

  Pin::Namespace.new(
    location: location,
    name: code_object.name.to_s,
    comments: code_object.docstring ? code_object.docstring.all.to_s : '',
    type: code_object.is_a?(YARD::CodeObjects::ClassObject) ? :class : :module,
    visibility: code_object.visibility,
    closure: closure,
    source: :yardoc,
  )
end