Sha256: ad7d00afd76197638adcef823966896df00a2fcc23420004fcd27c1dc785b450

Contents?: true

Size: 766 Bytes

Versions: 5

Compression:

Stored size: 766 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/ ? ?# : ?$
      print "#{prompt} #{cmd}".color(27)
      puts verbose ? "" : " >/dev/null".yellow
      output = `#{cmd} 2>&1`
      if $?.success?
        puts "✅ Command succeded!".green
      else
        puts "⚠️  Command #{cmd.inspect} failed with exit status #{$?.exitstatus}".on_red.white
        exit $?.exitstatus
      end
      if verbose
        puts output.italic
      end
      output
    end

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

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
hackmac-1.6.1 lib/hackmac/utils.rb
hackmac-1.6.0 lib/hackmac/utils.rb
hackmac-1.5.1 lib/hackmac/utils.rb
hackmac-1.5.0 lib/hackmac/utils.rb
hackmac-1.4.2 lib/hackmac/utils.rb