class RBS::Collection::Installer - rbs: Ruby Standard Library Documentation

# class RBS::Collection::Installer

### Attributes

lockfile[R]
stdout[R]

### Public Class Methods

new(lockfile_path:, stdout: $stdout) click to toggle source

    # File rbs-3.8.0/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

### Public Instance Methods

install_from_lockfile() click to toggle source

    # File rbs-3.8.0/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