Class: BoringBackup::CLI
- Inherits:
-
Thor
- Object
- Thor
- BoringBackup::CLI
- Includes:
- Thor::Actions
- Defined in:
- lib/boring_backup/cli.rb
Constant Summary collapse
- INITIALIZER =
"config/initializers/boring_backup.rb"- RECURRING =
"config/recurring.yml"- BINSTUB =
"bin/bb"- DEFAULT_SCHEDULE =
"every day at 3am"- PRODUCTION_ANCHOR =
/^production:[ \t]*\r?\n/- SPINNER =
%w[⠋ ⠙ ⠹ ⠸ ⠼ ⠴ ⠦ ⠧ ⠇ ⠏].freeze
- REDRAW_INTERVAL =
0.1
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.exit_on_failure? ⇒ Boolean
22 |
# File 'lib/boring_backup/cli.rb', line 22 def self.exit_on_failure? = true |
.source_root ⇒ Object
24 |
# File 'lib/boring_backup/cli.rb', line 24 def self.source_root = File.("templates", __dir__) |
Instance Method Details
#backup ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/boring_backup/cli.rb', line 27 def backup spinner("Booting") { BoringBackup.prepare! } say " #{pastel.bold("Boring Backup")} #{pastel.dim(BoringBackup.config.pg_env["PGDATABASE"])}" result = stream_backup result.store_results.each { |store_result| say " #{store_line(store_result)}" } say "\n #{verdict(result)}\n" exit 1 unless result.success? rescue => e say " #{pastel.red("✗")} #{e.}\n" exit 1 end |
#doctor ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/boring_backup/cli.rb', line 44 def doctor spinner("Booting") { BoringBackup.prepare! } say " #{pastel.bold("Boring Backup")} #{pastel.dim("doctor · #{BoringBackup.environment}")}" result = spinner("Running checks") { BoringBackup::Commands::Doctor.execute } width = result.checks.map { |check| check.name.length }.max result.checks.each { |check| say " #{check_line(check, width)}" } say "\n #{doctor_verdict(result)}\n" exit 1 unless result.success? rescue => e say " #{pastel.red("✗")} #{e.}\n" exit 1 end |
#install ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/boring_backup/cli.rb', line 63 def install say "\n #{pastel.bold("Boring Backup")}\n\n" preflight store = configure_store write_initializer(store) install_schedule install_binstub say_next_steps end |