Class: RBS::Collection::Sources::Rubygems
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Instance Chain:
self,
Singleton,
Base
|
|
Inherits: | Object |
Defined in: | lib/rbs/collection/sources/rubygems.rb |
Overview
Signatures that are inclduded in gem package as sig/ directory.
Instance Method Summary
- #has?(name, version) ⇒ Boolean
- #install(dest:, name:, version:, stdout:)
- #manifest_of(name, version)
- #to_lockfile
- #versions(name)
- #gem_sig_path(name, version) private
Base
- Included
Instance Method Details
#gem_sig_path(name, version) (private)
[ GitHub ]# File 'lib/rbs/collection/sources/rubygems.rb', line 42
private def gem_sig_path(name, version) RBS::EnvironmentLoader.gem_sig_path(name, version) end
#has?(name, version) ⇒ Boolean
# File 'lib/rbs/collection/sources/rubygems.rb', line 13
def has?(name, version) gem_sig_path(name, version) end
#install(dest:, name:, version:, stdout:)
[ GitHub ]# File 'lib/rbs/collection/sources/rubygems.rb', line 23
def install(dest:, name:, version:, stdout:) # Do nothing because stdlib RBS is available by default _, from = gem_sig_path(name, version) stdout.puts "Using #{name}:#{version} (#{from})" end
#manifest_of(name, version)
[ GitHub ]# File 'lib/rbs/collection/sources/rubygems.rb', line 29
def manifest_of(name, version) _, sig_path = gem_sig_path(name, version) sig_path or raise manifest_path = sig_path.join('manifest.yaml') YAML.safe_load(manifest_path.read) if manifest_path.exist? end
#to_lockfile
[ GitHub ]# File 'lib/rbs/collection/sources/rubygems.rb', line 36
def to_lockfile { 'type' => 'rubygems', } end
#versions(name)
[ GitHub ]# File 'lib/rbs/collection/sources/rubygems.rb', line 17
def versions(name) spec, _ = gem_sig_path(name, nil) spec or raise [spec.version.to_s] end