class RBS::Collection::Installer

Attributes

lockfile[R]
stdout[R]

Public Class Methods

new(lockfile_path:, stdout: $stdout) click to toggle source
# File rbs-2.8.2/lib/rbs/collection/installer.rb, line 9
def initialize(lockfile_path:, stdout: $stdout)
  @lockfile = Config.from_path(lockfile_path)
  @stdout = stdout
end

Public Instance Methods

install_from_lockfile() click to toggle source
# File rbs-2.8.2/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

Private Instance Methods

source_for(config_entry) click to toggle source
# File rbs-2.8.2/lib/rbs/collection/installer.rb, line 23
        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