Sha256: 9f4533e962ae37527d0ca52c4b1999b8111f96bd48caea3a4f55188f3c99bcb2
Contents?: true
Size: 1.81 KB
Versions: 3
Compression:
Stored size: 1.81 KB
Contents
module Bundleup class CLI include Console def run puts \ "Please wait a moment while I upgrade your Gemfile.lock..." committed = false review_upgrades review_pins committed = upgrades.any? && confirm_commit puts "Done!" if committed ensure restore_lockfile unless committed end private def review_upgrades if upgrades.any? puts "\nThe following gem(s) will be updated:\n\n" print_upgrades_table else ok("Nothing to update.") end end def review_pins return if pins.empty? puts "\nNote that the following gem(s) are being held back:\n\n" print_pins_table end def confirm_commit confirm("\nDo you want to apply these changes?") end def restore_lockfile return unless defined?(@upgrade) return unless upgrade.lockfile_changed? upgrade.undo puts "Your original Gemfile.lock has been restored." end def upgrade @upgrade ||= Upgrade.new(ARGV) end def upgrades upgrade.upgrades end def pins upgrade.pins end def print_upgrades_table rows = tableize(upgrades) do |g| [g.name, g.old_version || "(new)", "→", g.new_version || "(removed)"] end upgrades.zip(rows).each do |g, row| puts color(g.color, row) end end def print_pins_table rows = tableize(pins) do |g| [g.name, g.new_version, "→", g.newest_version, *pin_reason(g)] end puts rows.join("\n") end def pin_reason(gem) notes = color(:gray, gemfile.gem_comment(gem.name)) pin_operator, pin_version = gem.pin.split(" ", 2) [":", "pinned at", pin_operator.rjust(2), pin_version, notes] end def gemfile @gemfile ||= Gemfile.new end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
bundleup-0.7.0 | lib/bundleup/cli.rb |
bundleup-0.6.1 | lib/bundleup/cli.rb |
bundleup-0.6.0 | lib/bundleup/cli.rb |