Sha256: 55d328790a42e3fe4ca300acf60cda12fb3655489a2dc126edf3d1a4c3f96c4d

Contents?: true

Size: 782 Bytes

Versions: 6

Compression:

Stored size: 782 Bytes

Contents

require 'term/ansicolor'
class String
  include Term::ANSIColor
end
require 'tabulo'
require 'fileutils'
require 'tmpdir'
require 'shellwords'

module Hackmac
  module Utils
    include FileUtils

    def x(cmd, verbose: true)
      prompt = cmd =~ /\A\s*sudo/ ? ?# : ?$
      output = `#{cmd} 2>&1`
      if $?.success?
        print "#{prompt} #{cmd}".green
        puts verbose ? "" : " >/dev/null".yellow
      else
        print "#{prompt} #{cmd}".red
        puts verbose ? "" : " >/dev/null".yellow
        STDERR.puts "command #{cmd.inspect} failed with exit status #{$?.exitstatus}".on_red.white
      end
      if verbose
        print output.italic
      end
      output
    end

    def ask(prompt)
      print prompt.bold.yellow
      gets =~ /\Ay/i
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
hackmac-1.4.0 lib/hackmac/utils.rb
hackmac-1.3.0 lib/hackmac/utils.rb
hackmac-1.2.1 lib/hackmac/utils.rb
hackmac-1.2.0 lib/hackmac/utils.rb
hackmac-1.1.3 lib/hackmac/utils.rb
hackmac-1.1.2 lib/hackmac/utils.rb