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 ⇒ Set<Gem::Specification>
- #gemspecs ⇒ Array<Gem::Specification>
-
#initialize(requires, preferences, rbs_path = nil) ⇒ DocMap
constructor
A new instance of DocMap.
- #unresolved_requires ⇒ Array<String>
Constructor Details
#initialize(requires, preferences, rbs_path = nil) ⇒ DocMap
Returns a new instance of DocMap.
22 23 24 25 26 27 |
# File 'lib/solargraph/doc_map.rb', line 22 def initialize(requires, preferences, rbs_path = nil) @requires = requires.compact @preferences = preferences.compact @rbs_path = rbs_path 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]}
40 41 42 |
# File 'lib/solargraph/doc_map.rb', line 40 def self.gems_in_memory @gems_in_memory ||= {} end |
Instance Method Details
#dependencies ⇒ Set<Gem::Specification>
45 46 47 |
# File 'lib/solargraph/doc_map.rb', line 45 def dependencies @dependencies ||= (gemspecs.flat_map { |spec| fetch_dependencies(spec) } - gemspecs).to_set end |
#gemspecs ⇒ Array<Gem::Specification>
30 31 32 |
# File 'lib/solargraph/doc_map.rb', line 30 def gemspecs @gemspecs ||= required_gem_map.values.compact end |
#unresolved_requires ⇒ Array<String>
35 36 37 |
# File 'lib/solargraph/doc_map.rb', line 35 def unresolved_requires @unresolved_requires ||= required_gem_map.select { |_, gemspec| gemspec.nil? }.keys end |