Class: Solargraph::RbsMap

Inherits:
Object
  • Object
show all
Includes:
Conversions
Defined in:
lib/solargraph/rbs_map.rb,
lib/solargraph/rbs_map/core_map.rb,
lib/solargraph/rbs_map/core_fills.rb,
lib/solargraph/rbs_map/core_signs.rb,
lib/solargraph/rbs_map/stdlib_map.rb,
lib/solargraph/rbs_map/conversions.rb

Direct Known Subclasses

StdlibMap

Defined Under Namespace

Modules: Conversions, CoreFills, CoreSigns Classes: CoreMap, StdlibMap

Constant Summary collapse

@@rbs_maps_hash =
{}

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Conversions

#pins

Constructor Details

#initialize(library, version = nil) ⇒ RbsMap

Returns a new instance of RbsMap.

Parameters:

  • library (String)


21
22
23
24
25
26
27
28
29
# File 'lib/solargraph/rbs_map.rb', line 21

def initialize library, version = nil
  @library = library
  @version = version
  @collection = nil
  loader = RBS::EnvironmentLoader.new(core_root: nil, repository: repository)
  add_library loader, library, version
  return unless resolved?
  load_environment_to_pins(loader)
end

Instance Attribute Details

#libraryObject (readonly)

Returns the value of attribute library.



18
19
20
# File 'lib/solargraph/rbs_map.rb', line 18

def library
  @library
end

Class Method Details

.from_gemspec(gemspec) ⇒ Object



57
58
59
# File 'lib/solargraph/rbs_map.rb', line 57

def self.from_gemspec(gemspec)
  RbsMap.new(gemspec.name, gemspec.version)
end

.load(library) ⇒ RbsMap

Parameters:

  • library (String)

Returns:



53
54
55
# File 'lib/solargraph/rbs_map.rb', line 53

def self.load library
  @@rbs_maps_hash[library] ||= RbsMap.new(library)
end

Instance Method Details

#path_pin(path) ⇒ Pin::Base?

Parameters:

  • path (String)

Returns:



33
34
35
# File 'lib/solargraph/rbs_map.rb', line 33

def path_pin path
  pins.find { |p| p.path == path }
end

#path_pins(path) ⇒ Array<Pin::Base>

Parameters:

  • path (String)

Returns:



39
40
41
# File 'lib/solargraph/rbs_map.rb', line 39

def path_pins path
  pins.select { |p| p.path == path }
end

#repositoryObject



47
48
49
# File 'lib/solargraph/rbs_map.rb', line 47

def repository
  @repository ||= RBS::Repository.new(no_stdlib: false)
end

#resolved?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/solargraph/rbs_map.rb', line 43

def resolved?
  @resolved
end