From 47b3bb60a20674d029950ebd39f6aacf67e81866 Mon Sep 17 00:00:00 2001 From: elijah Date: Wed, 20 Jul 2016 23:46:48 -0700 Subject: include support for AWS via fog --- leap_cli.gemspec | 1 + lib/leap_cli/commands/common.rb | 2 +- lib/leap_cli/log.rb | 14 ++++++++++++++ lib/leap_cli/util.rb | 13 ++++++------- 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/leap_cli.gemspec b/leap_cli.gemspec index 12fc07f..cf8c37e 100644 --- a/leap_cli.gemspec +++ b/leap_cli.gemspec @@ -51,6 +51,7 @@ spec = Gem::Specification.new do |s| # network gems s.add_runtime_dependency('sshkit', '~> 1.11') + s.add_runtime_dependency('fog-aws') # crypto gems # s.add_runtime_dependency('gpgme') # << does not build on debian jessie, so now optional. diff --git a/lib/leap_cli/commands/common.rb b/lib/leap_cli/commands/common.rb index d49490e..3dab2a0 100644 --- a/lib/leap_cli/commands/common.rb +++ b/lib/leap_cli/commands/common.rb @@ -20,7 +20,7 @@ module LeapCli; module Commands items.each_with_index(&block) say("q. quit") index = ask("number 1-#{items.length}> ") - if index.empty? + if index.nil? || index.empty? next elsif index =~ /q/ bail! diff --git a/lib/leap_cli/log.rb b/lib/leap_cli/log.rb index 01d372c..fe9e1b7 100644 --- a/lib/leap_cli/log.rb +++ b/lib/leap_cli/log.rb @@ -28,6 +28,20 @@ module LeapCli def log_level logger.log_level end + + # + # These probably should have been part of the logger originally, + # but they are made available here for convenience: + # + + def bail!(*args, &block) + Util.bail!(*args, &block) + end + + def assert!(*args, &block) + Util.assert!(*args, &block) + end + end end diff --git a/lib/leap_cli/util.rb b/lib/leap_cli/util.rb index 29658da..45606b7 100644 --- a/lib/leap_cli/util.rb +++ b/lib/leap_cli/util.rb @@ -40,14 +40,13 @@ module LeapCli # # exit with error code and with a message that we are bailing out. # - def bail!(*message) - if block_given? - LeapCli.logger.log_level = 3 - yield - elsif message - log 0, *message + def bail!(*message, &block) + LeapCli.logger.log_level = 3 if LeapCli.logger.log_level < 3 + if message.any? + log(0, *message, &block) + else + log(0, :bailing, "out", &block) end - log 0, :bail, "" raise SystemExit.new(exit_status || 1) end -- cgit v1.2.3