Class: Solargraph::ApiMap::Index
- Inherits:
-
Object
- Object
- Solargraph::ApiMap::Index
show all
- Includes:
- Logging
- Defined in:
- lib/solargraph/api_map/index.rb
Constant Summary
Constants included
from Logging
Logging::DEFAULT_LOG_LEVEL, Logging::LOG_LEVELS
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Logging
logger
Constructor Details
#initialize(pins = []) ⇒ Index
Returns a new instance of Index.
9
10
11
|
# File 'lib/solargraph/api_map/index.rb', line 9
def initialize pins = []
catalog pins
end
|
Instance Attribute Details
#extend_references ⇒ Hash{String => Array<String>}
64
65
66
67
68
|
# File 'lib/solargraph/api_map/index.rb', line 64
def extend_references
@extend_references ||= Hash.new { |h, k| h[k] = [] }
end
|
#include_references ⇒ Hash{String => Array<String>}
50
51
52
53
54
|
# File 'lib/solargraph/api_map/index.rb', line 50
def include_references
@include_references ||= Hash.new { |h, k| h[k] = [] }
end
|
#namespace_hash ⇒ Hash{String => Array<Pin::Namespace>}
19
20
21
22
23
|
# File 'lib/solargraph/api_map/index.rb', line 19
def namespace_hash
@namespace_hash ||= Hash.new { |h, k| h[k] = [] }
end
|
#path_pin_hash ⇒ Hash{String => Array<Pin::Base>}
33
34
35
36
37
|
# File 'lib/solargraph/api_map/index.rb', line 33
def path_pin_hash
@path_pin_hash ||= Hash.new { |h, k| h[k] = [] }
end
|
#pin_class_hash ⇒ Hash{String => Array<Pin::Base>}
26
27
28
29
30
|
# File 'lib/solargraph/api_map/index.rb', line 26
def pin_class_hash
@pin_class_hash ||= Hash.new { |h, k| h[k] = [] }
end
|
14
15
16
|
# File 'lib/solargraph/api_map/index.rb', line 14
def pins
@pins ||= []
end
|
#prepend_references ⇒ Hash{String => Array<String>}
71
72
73
74
75
|
# File 'lib/solargraph/api_map/index.rb', line 71
def prepend_references
@prepend_references ||= Hash.new { |h, k| h[k] = [] }
end
|
#superclass_references ⇒ Hash{String => Array<String>}
78
79
80
81
82
|
# File 'lib/solargraph/api_map/index.rb', line 78
def superclass_references
@superclass_references ||= Hash.new { |h, k| h[k] = [] }
end
|
Instance Method Details
#include_reference_pins ⇒ Hash{String => Array<Pin::Reference::Include>}
57
58
59
60
61
|
# File 'lib/solargraph/api_map/index.rb', line 57
def include_reference_pins
@include_reference_pins ||= Hash.new { |h, k| h[k] = [] }
end
|
#merge(pins) ⇒ self
86
87
88
|
# File 'lib/solargraph/api_map/index.rb', line 86
def merge pins
deep_clone.catalog pins
end
|
#pins_by_class(klass) ⇒ Set<generic<T>>
42
43
44
45
46
47
|
# File 'lib/solargraph/api_map/index.rb', line 42
def pins_by_class klass
s = Set.new
@pin_select_cache[klass] ||= pin_class_hash.each_with_object(s) { |(key, o), n| n.merge(o) if key <= klass }
end
|