Sha256: 4e2db88ced265e444014598511428e257a0c2b1e4278193e4cb88f7c282ae2c3

Contents?: true

Size: 701 Bytes

Versions: 2

Compression:

Stored size: 701 Bytes

Contents

module Utils
  class CommandError < RuntimeError
    attr_accessor :command_output, :return_code

    def verbose_message
      if $verbose
        puts self.message
        puts '#'*20
        puts self.command_output
        puts '#'*20
        puts "Exit code: #{self.return_code}"
      end
    end
  end

  def command(cmd)
    puts cmd if $verbose
    ret=''
    unless $dry
      ret = `#{cmd}`
      if $?.exitstatus != 0 ## return failure
        err=CommandError.new "ErrorRunning #{cmd}"
        err.command_output = ret
        err.return_code = $?.exitstatus
        raise err
      end
    end
    ret
  end

  def exit!(msg='Aborting')
    puts msg
    Kernel.exit 1
  end

end #module

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
devinstall-1.2.0 lib/devinstall/utils.rb
devinstall-1.1.0 lib/devinstall/utils.rb