Class: RBS::Collection::Installer
Relationships & Source Files | |
Inherits: | Object |
Defined in: | lib/rbs/collection/installer.rb |
Class Method Summary
Instance Attribute Summary
Instance Method Summary
Constructor Details
.new(lockfile_path:, stdout: $stdout) ⇒ Installer
Instance Attribute Details
#lockfile (readonly)
[ GitHub ]# File 'lib/rbs/collection/installer.rb', line 6
attr_reader :lockfile
#stdout (readonly)
[ GitHub ]# File 'lib/rbs/collection/installer.rb', line 7
attr_reader :stdout
Instance Method Details
#install_from_lockfile
[ GitHub ]# File 'lib/rbs/collection/installer.rb', line 14
def install_from_lockfile install_to = lockfile.repo_path install_to.mkpath lockfile.gems.each do |config_entry| source_for(config_entry).install(dest: install_to, config_entry: config_entry, stdout: stdout) end stdout.puts "It's done! #{lockfile.gems.size} gems' RBSs now installed." end
#source_for(config_entry) (private)
[ GitHub ]# File 'lib/rbs/collection/installer.rb', line 23
private def source_for(config_entry) @source_for ||= {} key = config_entry['source'] unless key raise "Cannot find source of '#{config_entry['name']}' gem" end @source_for[key] ||= Sources.from_config_entry(key) end