Sha256: 41e5acb45d7f3e8fab338f3ea8b31e2dca8cb9c6ffd9bc1b68f9fbdd815df410

Contents?: true

Size: 1.27 KB

Versions: 16

Compression:

Stored size: 1.27 KB

Contents


module Rudy; module Routines; module Handlers; 
  module Base
   include Rudy::Huxtable
   
   def trap_rbox_errors(ret=nil, &command)
     begin
       ret = command.call if command
       return unless ret.is_a?(Rye::Rap)
       li '  ' << ret.stdout.join("#{$/}  ") if !ret.stdout.empty?
       print_response(ret)
     rescue IOError => ex
       le "  Connection Error (#{ex.message})".color(:red)
       choice = Annoy.get_user_input('(S)kip  (R)etry  (F)orce  (A)bort: ', nil, 3600) || ''
        if choice.match(/\AS/i)
          return
        elsif choice.match(/\AR/i)
          retry
        elsif choice.match(/\AF/i)
          @@global.force = true
          retry
        else
          exit 12
        end
     end
     
     ret
   end
   
   def keep_going?
     Annoy.pose_question("  Keep going?\a ", /yes|y|ya|sure|you bet!/i, STDERR)
   end
   

  private 
    def print_response(rap)
      colour = rap.exit_code != 0 ? :red : :normal
      [:stderr].each do |sumpin|
        next if rap.send(sumpin).empty?
        le
        le(("  #{sumpin.to_s.upcase}  " << '-'*38).color(colour).bright)
        le "  " << rap.send(sumpin).join("#{$/}  ").color(colour)
      end
      le "  Exit code: #{rap.exit_code}".color(colour) if rap.exit_code != 0
    end
  
  end

end; end; end

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
solutious-rudy-0.9.4 lib/rudy/routines/handlers/base.rb
rudy-0.9.8.008 lib/rudy/routines/handlers/base.rb
rudy-0.9.8.007 lib/rudy/routines/handlers/base.rb
rudy-0.9.8.006 lib/rudy/routines/handlers/base.rb
rudy-0.9.8.005 lib/rudy/routines/handlers/base.rb
rudy-0.9.8.004 lib/rudy/routines/handlers/base.rb
rudy-0.9.8.003 lib/rudy/routines/handlers/base.rb
rudy-0.9.8.002 lib/rudy/routines/handlers/base.rb
rudy-0.9.8.001 lib/rudy/routines/handlers/base.rb
rudy-0.9.7.001 lib/rudy/routines/handlers/base.rb
rudy-0.9.6.001 lib/rudy/routines/handlers/base.rb
rudy-0.9.5.004 lib/rudy/routines/handlers/base.rb
rudy-0.9.5.003 lib/rudy/routines/handlers/base.rb
rudy-0.9.5.002 lib/rudy/routines/handlers/base.rb
rudy-0.9.5 lib/rudy/routines/handlers/base.rb
rudy-0.9.4 lib/rudy/routines/handlers/base.rb