class Dk::Local::BaseCmd

Constants

OutputLine

Attributes

cmd_str[R]
scmd[R]

Public Class Methods

new(scmd_or_spy_klass, cmd_str, opts) click to toggle source
# File lib/dk/local.rb, line 10
def initialize(scmd_or_spy_klass, cmd_str, opts)
  opts ||= {}

  @cmd_str = cmd_str
  @scmd    = scmd_or_spy_klass.new(@cmd_str, :env => opts[:env])
end

Public Instance Methods

output_lines() click to toggle source
# File lib/dk/local.rb, line 49
def output_lines
  build_stdout_lines(self.stdout) + build_stderr_lines(self.stderr)
end
pid() click to toggle source
# File lib/dk/local.rb, line 43
def pid;      @scmd.pid;      end
run(input = nil) click to toggle source
# File lib/dk/local.rb, line 38
def run(input = nil)
  @scmd.run(input)
  self
end
running?() click to toggle source
# File lib/dk/local.rb, line 46
def running?; @scmd.running?; end
start(input = nil) click to toggle source
# File lib/dk/local.rb, line 19
def start(input = nil)
  @scmd.start(input)
  self
end
stderr() click to toggle source
# File lib/dk/local.rb, line 45
def stderr;   @scmd.stderr;   end
stdout() click to toggle source
# File lib/dk/local.rb, line 44
def stdout;   @scmd.stdout;   end
stop(timeout = nil) click to toggle source
# File lib/dk/local.rb, line 33
def stop(timeout = nil)
  @scmd.stop(timeout)
  self
end
success?() click to toggle source
# File lib/dk/local.rb, line 47
def success?; @scmd.success?; end
to_s() click to toggle source
# File lib/dk/local.rb, line 17
def to_s; self.cmd_str; end
wait(timeout = nil) click to toggle source
# File lib/dk/local.rb, line 24
def wait(timeout = nil)
  begin
    @scmd.wait(timeout)
  rescue Scmd::TimeoutError => e
    raise Dk::CmdTimeoutError, e.message
  end
  self
end

Private Instance Methods

build_output_lines(name, output) click to toggle source
# File lib/dk/local.rb, line 63
def build_output_lines(name, output)
  output.to_s.strip.split("\n").map{ |line| OutputLine.new(name, line) }
end
build_stderr_lines(stderr) click to toggle source
# File lib/dk/local.rb, line 59
def build_stderr_lines(stderr)
  build_output_lines('stderr', stderr)
end
build_stdout_lines(stdout) click to toggle source
# File lib/dk/local.rb, line 55
def build_stdout_lines(stdout)
  build_output_lines('stdout', stdout)
end