Class: Gemvault::CLI::Commands::Upgrade

Inherits:
Gemvault::CLI::Command show all
Defined in:
lib/gemvault/cli/commands/upgrade.rb

Overview

Upgrades a vault to the current storage format (e.g. a SQLite Dbvault to a Tarvault), preserving every gem and its timestamp.

Instance Method Summary collapse

Instance Method Details

#run(vault) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/gemvault/cli/commands/upgrade.rb', line 19

def run(vault)
  upgrade = Gemvault::VaultUpgrade.new(vault, backup: !options[:no_backup])
  summary = upgrade.plan
  return report_no_op(vault, summary) if summary.no_op?
  return report_dry_run(vault, summary) if options[:dry_run]

  upgrade.call
  report_upgraded(vault, summary)
rescue Gemvault::Vault::Error => e
  print_error(e.message)
  exit(1)
end