class ShellSpinner::Runner

Public Instance Methods

wrap_block(text = nil, colorize = true, &block) click to toggle source
# File lib/aws-carb/monkey_patches.rb, line 7
def wrap_block(text = nil, colorize = true, &block)
  with_message(text) { with_spinner(&block) }
end

Private Instance Methods

with_message(text = nil, colorize = false) { || ... } click to toggle source
FIXME: better way to disable colours?

colorize = colorize ? lambda { |s,c| s.colorize© } : lambda { |s,c| s } colorize.call(s, :red)

# File lib/aws-carb/monkey_patches.rb, line 17
def with_message(text = nil, colorize = false)
  begin
    print "#{text}... " unless text.nil?

    catch_user_output { yield }

    print "done\n".colorize(:green) unless text.nil?

    print user_output.colorize(:blue)

  rescue Exception => e
    print "\bfail\n".colorize(:red) unless text.nil?

    print user_output.colorize(:blue)

    re_raise_exception e
  end
end