Class: Bundler::CLI::Lock
Relationships & Source Files | |
Inherits: | Object |
Defined in: | lib/bundler/cli/lock.rb |
Class Method Summary
- .new(options) ⇒ Lock constructor
Instance Attribute Summary
- #options readonly
Instance Method Summary
Constructor Details
.new(options) ⇒ Lock
# File 'lib/bundler/cli/lock.rb', line 7
def initialize( ) @options = end
Instance Attribute Details
#options (readonly)
[ GitHub ]# File 'lib/bundler/cli/lock.rb', line 5
attr_reader :
Instance Method Details
#run
[ GitHub ]# File 'lib/bundler/cli/lock.rb', line 11
def run unless Bundler.default_gemfile Bundler.ui.error "Unable to find a Gemfile to lock" exit 1 end print = [:print] ui = Bundler.ui Bundler.ui = UI::Silent.new if print Bundler::Fetcher.disable_endpoint = ["full-index"] update = [:update] conservative = [:conservative] if update.is_a?(Array) # unlocking specific gems Bundler::CLI::Common.ensure_all_gems_in_lockfile!(update) update = { :gems => update, :conservative => conservative } elsif update update = { :conservative => conservative } if conservative end definition = Bundler.definition(update) Bundler::CLI::Common.configure_gem_version_promoter(Bundler.definition, ) if [:update] ["remove-platform"].each do |platform| definition.remove_platform(platform) end ["add-platform"].each do |platform_string| platform = Gem::Platform.new(platform_string) if platform.to_s == "unknown" Bundler.ui.warn "The platform `#{platform_string}` is unknown to RubyGems " \ "and adding it will likely lead to resolution errors" end definition.add_platform(platform) end if definition.platforms.empty? raise InvalidOption, "Removing all platforms from the bundle is not allowed" end definition.resolve_remotely! unless [:local] if print puts definition.to_lock else file = [:lockfile] file = file ? File. (file) : Bundler.default_lockfile puts "Writing lockfile to #{file}" definition.lock(file) end Bundler.ui = ui end