diff options
| -rw-r--r-- | leap_cli.gemspec | 1 | ||||
| -rw-r--r-- | lib/leap_cli/commands/common.rb | 2 | ||||
| -rw-r--r-- | lib/leap_cli/log.rb | 14 | ||||
| -rw-r--r-- | 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  | 
