class Licensed::Shell::Error

Attributes

cmd[R]
status[R]
stderr[R]

Public Class Methods

new(cmd, status, stderr) click to toggle source
Calls superclass method
# File lib/licensed/shell.rb, line 36
def initialize(cmd, status, stderr)
  super()
  @cmd = cmd
  @exitstatus = status
  @stderr = stderr.to_s.strip
end

Public Instance Methods

escape_cmd() click to toggle source
# File lib/licensed/shell.rb, line 48
def escape_cmd
  @cmd.map do |arg|
    if arg =~ /[\s'"]/
      escaped = arg.gsub(/([\\"])/, '\\\\\1')
      %("#{escaped}")
    else
      arg
    end
  end.join(" ")
end
message() click to toggle source
# File lib/licensed/shell.rb, line 43
def message
  extra = @stderr.empty?? "" : "#{@stderr.gsub(/^/, "        ")}"
  "'#{escape_cmd}' exited with status #{@exitstatus}\n#{extra}"
end