class Aruba::Processes::BasicProcess
Basic Process
‘BasicProcess` is not meant for direct use - `BasicProcess.new` - by users.
@private
Attributes
environment[R]
exit_status[R]
exit_timeout[R]
io_wait_timeout[R]
main_class[R]
startup_wait_time[R]
stop_signal[R]
working_directory[R]
Public Class Methods
new(cmd, exit_timeout, io_wait_timeout, working_directory, environment = Aruba.platform.environment_variables.hash_from_env, main_class = nil, stop_signal = nil, startup_wait_time = 0)
click to toggle source
# File lib/aruba/processes/basic_process.rb, line 17 def initialize(cmd, exit_timeout, io_wait_timeout, working_directory, # rubocop:disable Metrics/ParameterLists environment = Aruba.platform.environment_variables.hash_from_env, main_class = nil, stop_signal = nil, startup_wait_time = 0) @cmd = cmd @working_directory = working_directory @environment = environment @main_class = main_class @exit_status = nil @stop_signal = stop_signal @startup_wait_time = startup_wait_time @exit_timeout = exit_timeout @io_wait_timeout = io_wait_timeout @started = false @timed_out = false end
Public Instance Methods
after_run()
click to toggle source
Hook which is run after command is run
# File lib/aruba/processes/basic_process.rb, line 111 def after_run; end
arguments()
click to toggle source
# File lib/aruba/processes/basic_process.rb, line 127 def arguments return Shellwords.split(commandline)[1..] if Shellwords.split(commandline).size > 1 [] end
before_run()
click to toggle source
Hook which is run before command is run
# File lib/aruba/processes/basic_process.rb, line 108 def before_run; end
close_io(*)
click to toggle source
# File lib/aruba/processes/basic_process.rb, line 66 def close_io(*) raise NotImplementedError end
command()
click to toggle source
# File lib/aruba/processes/basic_process.rb, line 123 def command Shellwords.split(commandline).first end
commandline()
click to toggle source
Return command line
# File lib/aruba/processes/basic_process.rb, line 36 def commandline @cmd end
content()
click to toggle source
# File lib/aruba/processes/basic_process.rb, line 78 def content raise NotImplementedError end
empty?()
click to toggle source
# File lib/aruba/processes/basic_process.rb, line 133 def empty? false end
filesystem_status()
click to toggle source
# File lib/aruba/processes/basic_process.rb, line 74 def filesystem_status raise NotImplementedError end
inspect()
click to toggle source
# File lib/aruba/processes/basic_process.rb, line 113 def inspect out = truncate(stdout(wait_for_io: 0).inspect, 35) err = truncate(stderr(wait_for_io: 0).inspect, 35) fmt = '#<%s:%s commandline="%s": stdout=%s stderr=%s>' format fmt, self.class, object_id, commandline, out, err end
Also aliased as: to_s
output(opts = {})
click to toggle source
Output stderr and stdout
# File lib/aruba/processes/basic_process.rb, line 46 def output(opts = {}) stdout(opts) + stderr(opts) end
pid()
click to toggle source
Output pid of process
# File lib/aruba/processes/basic_process.rb, line 41 def pid raise NotImplementedError end
restart()
click to toggle source
Restart a command
# File lib/aruba/processes/basic_process.rb, line 87 def restart stop start end
send_signal(*)
click to toggle source
# File lib/aruba/processes/basic_process.rb, line 70 def send_signal(*) raise NotImplementedError end
started?()
click to toggle source
Was process already started
# File lib/aruba/processes/basic_process.rb, line 98 def started? @started == true end
stderr(*)
click to toggle source
# File lib/aruba/processes/basic_process.rb, line 62 def stderr(*) raise NotImplementedError end
stdin(*)
click to toggle source
# File lib/aruba/processes/basic_process.rb, line 54 def stdin(*) raise NotImplementedError end
stdout(*)
click to toggle source
# File lib/aruba/processes/basic_process.rb, line 58 def stdout(*) raise NotImplementedError end
stopped?()
click to toggle source
Was process already stopped
# File lib/aruba/processes/basic_process.rb, line 93 def stopped? @started == false end
timed_out?()
click to toggle source
Does the process failed to stop in time
# File lib/aruba/processes/basic_process.rb, line 103 def timed_out? @timed_out == true end
wait()
click to toggle source
# File lib/aruba/processes/basic_process.rb, line 82 def wait raise NotImplementedError end
write(*)
click to toggle source
# File lib/aruba/processes/basic_process.rb, line 50 def write(*) raise NotImplementedError end
Private Instance Methods
truncate(string, max_length)
click to toggle source
# File lib/aruba/processes/basic_process.rb, line 139 def truncate(string, max_length) return string if string.length <= max_length "#{string[0, max_length - 1]} ..." end