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