class RBS::Collection::Config::LockfileGenerator
Attributes
config[R]
gemfile_lock[R]
lock[R]
lock_path[R]
Public Class Methods
generate(config_path:, gemfile_lock_path:, with_lockfile: true)
click to toggle source
# File rbs-2.8.2/lib/rbs/collection/config/lockfile_generator.rb, line 25 def self.generate(config_path:, gemfile_lock_path:, with_lockfile: true) new(config_path: config_path, gemfile_lock_path: gemfile_lock_path, with_lockfile: with_lockfile).generate end
new(config_path:, gemfile_lock_path:, with_lockfile:)
click to toggle source
# File rbs-2.8.2/lib/rbs/collection/config/lockfile_generator.rb, line 29 def initialize(config_path:, gemfile_lock_path:, with_lockfile:) @config = Config.from_path config_path @lock_path = Config.to_lockfile_path(config_path) @lock = Config.from_path(lock_path) if lock_path.exist? && with_lockfile @gemfile_lock = Bundler::LockfileParser.new(gemfile_lock_path.read) @gem_queue = [] validate_gemfile_lock_path!(lock: lock, gemfile_lock_path: gemfile_lock_path) config.gemfile_lock_path = gemfile_lock_path end
Public Instance Methods
generate()
click to toggle source
# File rbs-2.8.2/lib/rbs/collection/config/lockfile_generator.rb, line 41 def generate config.gems.each do |gem| @gem_queue.push({ name: gem['name'], version: gem['version'] }) end gemfile_lock_gems do |spec| @gem_queue.push({ name: spec.name, version: spec.version }) end while gem = @gem_queue.shift assign_gem(**gem) end remove_ignored_gems! config.dump_to(lock_path) config end