Class: Bundler::CLI::Lock
- Inherits:
-
Object
- Object
- Bundler::CLI::Lock
- Defined in:
- lib/bundler/cli/lock.rb
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Instance Method Summary collapse
-
#initialize(options) ⇒ Lock
constructor
A new instance of Lock.
- #run ⇒ Object
Constructor Details
#initialize(options) ⇒ Lock
Returns a new instance of Lock.
7 8 9 |
# File 'lib/bundler/cli/lock.rb', line 7 def initialize() @options = end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
5 6 7 |
# File 'lib/bundler/cli/lock.rb', line 5 def @options end |
Instance Method Details
#run ⇒ Object
[View source]
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# 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] previous_output_stream = Bundler.ui.output_stream Bundler.ui.output_stream = :stderr if print Bundler::Fetcher.disable_endpoint = ["full-index"] update = [:update] conservative = [:conservative] bundler = [:bundler] if update.is_a?(Array) # unlocking specific gems Bundler::CLI::Common.ensure_all_gems_in_lockfile!(update) update = { gems: update, conservative: conservative } elsif update && conservative update = { conservative: conservative } elsif update && bundler update = { bundler: bundler } end file = [:lockfile] file = file ? Pathname.new(file). : Bundler.default_lockfile Bundler.settings.temporary(frozen: false) do definition = Bundler.definition(update, file) definition.add_checksums if ["add-checksums"] Bundler::CLI::Common.configure_gem_version_promoter(definition, ) if [:update] ["remove-platform"].each do |platform_string| platform = Gem::Platform.new(platform_string) definition.remove_platform(platform) end ["add-platform"].each do |platform_string| platform = Gem::Platform.new(platform_string) if platform.to_s == "unknown" Bundler.ui.error "The platform `#{platform_string}` is unknown to RubyGems and can't be added to the lockfile." exit 1 end definition.add_platform(platform) end if definition.platforms.empty? raise InvalidOption, "Removing all platforms from the bundle is not allowed" end definition.remotely! unless [:local] if ["normalize-platforms"] definition.normalize_platforms end if print puts definition.to_lock else puts "Writing lockfile to #{file}" definition.lock end end Bundler.ui.output_stream = previous_output_stream end |