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 
  
# File 'lib/rbs/collection/installer.rb', line 9
def initialize(lockfile_path:, stdout: $stdout) @lockfile = Config::Lockfile.from_lockfile(lockfile_path: lockfile_path, data: YAML.load_file(lockfile_path)) @stdout = stdout end
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.fullpath install_to.mkpath selected = lockfile.gems.select do |name, gem| gem[:source].has?(name, gem[:version]) end selected.each_value do |gem| gem[:source].install( dest: install_to, name: gem[:name], version: gem[:version], stdout: stdout ) end CLI::ColoredIO.new(stdout: stdout).puts_green("It's done! #{selected.size} gems' RBSs now installed.") end