Class: Solargraph::YardMap
- Inherits:
-
Object
- Object
- Solargraph::YardMap
show all
- Defined in:
- lib/solargraph/yard_map.rb,
lib/solargraph/yard_map/cache.rb,
lib/solargraph/yard_map/core_docs.rb
Overview
The YardMap provides access to YARD documentation for the Ruby core, the stdlib, and gems.
Defined Under Namespace
Modules: CoreDocs
Classes: Cache
Constant Summary
collapse
- @@stdlib_yardoc =
CoreDocs.yard_stdlib_file
- @@stdlib_paths =
{}
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(required: [], with_dependencies: true) ⇒ YardMap
Returns a new instance of YardMap.
30
31
32
33
34
35
36
37
38
|
# File 'lib/solargraph/yard_map.rb', line 30
def initialize(required: [], with_dependencies: true)
@required = required.clone
@with_dependencies = with_dependencies
@gem_paths = {}
@stdlib_namespaces = []
process_requires
yardocs.uniq!
end
|
Instance Attribute Details
#required ⇒ Array<String>
24
25
26
|
# File 'lib/solargraph/yard_map.rb', line 24
def required
@required
end
|
#with_dependencies=(value) ⇒ Object
Sets the attribute with_dependencies
26
27
28
|
# File 'lib/solargraph/yard_map.rb', line 26
def with_dependencies=(value)
@with_dependencies = value
end
|
Instance Method Details
#change(new_requires) ⇒ Boolean
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/solargraph/yard_map.rb', line 52
def change new_requires
if new_requires.uniq.sort == required.uniq.sort
false
else
required.clear
required.concat new_requires
process_requires
true
end
end
|
88
89
90
91
92
93
94
95
96
97
|
# File 'lib/solargraph/yard_map.rb', line 88
def core_pins
@@core_pins ||= begin
result = []
load_yardoc CoreDocs.yardoc_file
YARD::Registry.each do |o|
result.concat generate_pins(o)
end
result
end
end
|
#load_yardoc(y) ⇒ YARD::Registry
75
76
77
78
79
80
81
82
83
84
85
|
# File 'lib/solargraph/yard_map.rb', line 75
def load_yardoc y
if y.kind_of?(Array)
YARD::Registry.load y, true
else
YARD::Registry.load! y
end
rescue Exception => e
STDERR.puts "Error loading yardoc '#{y}' #{e.class} #{e.message}"
yardocs.delete y
nil
end
|
101
102
103
|
# File 'lib/solargraph/yard_map.rb', line 101
def path_pin path
pins.select{ |p| p.path == path }.first
end
|
41
42
43
|
# File 'lib/solargraph/yard_map.rb', line 41
def pins
@pins ||= []
end
|
#unresolved_requires ⇒ Array<String>
69
70
71
|
# File 'lib/solargraph/yard_map.rb', line 69
def unresolved_requires
@unresolved_requires ||= []
end
|
#with_dependencies? ⇒ Boolean
45
46
47
48
|
# File 'lib/solargraph/yard_map.rb', line 45
def with_dependencies?
@with_dependencies ||= true unless @with_dependencies == false
@with_dependencies
end
|
#yardocs ⇒ Array<String>
64
65
66
|
# File 'lib/solargraph/yard_map.rb', line 64
def yardocs
@yardocs ||= []
end
|