Class: Solargraph::DocMap
- Inherits:
-
Object
- Object
- Solargraph::DocMap
- Defined in:
- lib/solargraph/doc_map.rb
Overview
A collection of pins generated from required gems.
Instance Attribute Summary collapse
- #pins ⇒ Array<Pin::Base> readonly
- #preferences ⇒ Array<Gem::Specification> readonly
- #requires ⇒ Array<String> readonly
- #uncached_gemspecs ⇒ Array<Gem::Specification> readonly
Class Method Summary collapse
Instance Method Summary collapse
- #dependencies ⇒ Object
- #gemspecs ⇒ Array<Gem::Specification>
-
#initialize(requires, preferences) ⇒ DocMap
constructor
A new instance of DocMap.
- #unresolved_requires ⇒ Array<String>
Constructor Details
#initialize(requires, preferences) ⇒ DocMap
Returns a new instance of DocMap.
21 22 23 24 25 |
# File 'lib/solargraph/doc_map.rb', line 21 def initialize(requires, preferences) @requires = requires.compact @preferences = preferences.compact generate end |
Instance Attribute Details
#pins ⇒ Array<Pin::Base> (readonly)
14 15 16 |
# File 'lib/solargraph/doc_map.rb', line 14 def pins @pins end |
#preferences ⇒ Array<Gem::Specification> (readonly)
11 12 13 |
# File 'lib/solargraph/doc_map.rb', line 11 def preferences @preferences end |
#requires ⇒ Array<String> (readonly)
8 9 10 |
# File 'lib/solargraph/doc_map.rb', line 8 def requires @requires end |
#uncached_gemspecs ⇒ Array<Gem::Specification> (readonly)
17 18 19 |
# File 'lib/solargraph/doc_map.rb', line 17 def uncached_gemspecs @uncached_gemspecs end |
Class Method Details
.gems_in_memory ⇒ Hash{Gem::Specification => Array[Pin::Base]}
38 39 40 |
# File 'lib/solargraph/doc_map.rb', line 38 def self.gems_in_memory @gems_in_memory ||= {} end |
Instance Method Details
#dependencies ⇒ Object
42 43 44 |
# File 'lib/solargraph/doc_map.rb', line 42 def dependencies @dependencies ||= (gemspecs.flat_map { |spec| fetch_dependencies(spec) } - gemspecs).to_set end |
#gemspecs ⇒ Array<Gem::Specification>
28 29 30 |
# File 'lib/solargraph/doc_map.rb', line 28 def gemspecs @gemspecs ||= required_gem_map.values.compact end |
#unresolved_requires ⇒ Array<String>
33 34 35 |
# File 'lib/solargraph/doc_map.rb', line 33 def unresolved_requires @unresolved_requires ||= required_gem_map.select { |_, gemspec| gemspec.nil? }.keys end |