Class: Aruba::Processes::BasicProcess
- Inherits:
-
Object
- Object
- Aruba::Processes::BasicProcess
- Defined in:
- lib/aruba/processes/basic_process.rb
Overview
Basic Process
‘BasicProcess` is not meant for direct use - `BasicProcess.new` - by users.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#environment ⇒ Object
readonly
Returns the value of attribute environment.
-
#exit_status ⇒ Object
readonly
Returns the value of attribute exit_status.
-
#exit_timeout ⇒ Object
readonly
Returns the value of attribute exit_timeout.
-
#io_wait_timeout ⇒ Object
readonly
Returns the value of attribute io_wait_timeout.
-
#main_class ⇒ Object
readonly
Returns the value of attribute main_class.
-
#startup_wait_time ⇒ Object
readonly
Returns the value of attribute startup_wait_time.
-
#stop_signal ⇒ Object
readonly
Returns the value of attribute stop_signal.
-
#working_directory ⇒ Object
readonly
Returns the value of attribute working_directory.
Instance Method Summary collapse
-
#after_run ⇒ Object
Hook which is run after command is run.
- #arguments ⇒ Object
-
#before_run ⇒ Object
Hook which is run before command is run.
- #close_io ⇒ Object
- #command ⇒ Object
-
#commandline ⇒ Object
Return command line.
- #content ⇒ Object
- #empty? ⇒ Boolean
- #filesystem_status ⇒ Object
-
#initialize(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) ⇒ BasicProcess
constructor
rubocop:disable Metrics/ParameterLists.
- #inspect ⇒ Object (also: #to_s)
-
#output(opts = {}) ⇒ Object
Output stderr and stdout.
-
#pid ⇒ Object
Output pid of process.
-
#restart ⇒ Object
Restart a command.
- #send_signal ⇒ Object
-
#started? ⇒ Boolean
Was process already started.
- #stderr ⇒ Object
- #stdin ⇒ Object
- #stdout ⇒ Object
-
#stopped? ⇒ Boolean
Was process already stopped.
-
#timed_out? ⇒ Boolean
Does the process failed to stop in time.
- #wait ⇒ Object
- #write ⇒ Object
Constructor Details
#initialize(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) ⇒ BasicProcess
rubocop:disable Metrics/ParameterLists
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# 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 |
Instance Attribute Details
#environment ⇒ Object (readonly)
Returns the value of attribute environment.
14 15 16 |
# File 'lib/aruba/processes/basic_process.rb', line 14 def environment @environment end |
#exit_status ⇒ Object (readonly)
Returns the value of attribute exit_status.
14 15 16 |
# File 'lib/aruba/processes/basic_process.rb', line 14 def exit_status @exit_status end |
#exit_timeout ⇒ Object (readonly)
Returns the value of attribute exit_timeout.
14 15 16 |
# File 'lib/aruba/processes/basic_process.rb', line 14 def exit_timeout @exit_timeout end |
#io_wait_timeout ⇒ Object (readonly)
Returns the value of attribute io_wait_timeout.
14 15 16 |
# File 'lib/aruba/processes/basic_process.rb', line 14 def io_wait_timeout @io_wait_timeout end |
#main_class ⇒ Object (readonly)
Returns the value of attribute main_class.
14 15 16 |
# File 'lib/aruba/processes/basic_process.rb', line 14 def main_class @main_class end |
#startup_wait_time ⇒ Object (readonly)
Returns the value of attribute startup_wait_time.
14 15 16 |
# File 'lib/aruba/processes/basic_process.rb', line 14 def startup_wait_time @startup_wait_time end |
#stop_signal ⇒ Object (readonly)
Returns the value of attribute stop_signal.
14 15 16 |
# File 'lib/aruba/processes/basic_process.rb', line 14 def stop_signal @stop_signal end |
#working_directory ⇒ Object (readonly)
Returns the value of attribute working_directory.
14 15 16 |
# File 'lib/aruba/processes/basic_process.rb', line 14 def working_directory @working_directory end |
Instance Method Details
#after_run ⇒ Object
Hook which is run after command is run
111 |
# File 'lib/aruba/processes/basic_process.rb', line 111 def after_run; end |
#arguments ⇒ Object
127 128 129 130 131 |
# 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 ⇒ Object
Hook which is run before command is run
108 |
# File 'lib/aruba/processes/basic_process.rb', line 108 def before_run; end |
#close_io ⇒ Object
66 67 68 |
# File 'lib/aruba/processes/basic_process.rb', line 66 def close_io(*) raise NotImplementedError end |
#command ⇒ Object
123 124 125 |
# File 'lib/aruba/processes/basic_process.rb', line 123 def command Shellwords.split(commandline).first end |
#commandline ⇒ Object
Return command line
36 37 38 |
# File 'lib/aruba/processes/basic_process.rb', line 36 def commandline @cmd end |
#content ⇒ Object
78 79 80 |
# File 'lib/aruba/processes/basic_process.rb', line 78 def content raise NotImplementedError end |
#empty? ⇒ Boolean
133 134 135 |
# File 'lib/aruba/processes/basic_process.rb', line 133 def empty? false end |
#filesystem_status ⇒ Object
74 75 76 |
# File 'lib/aruba/processes/basic_process.rb', line 74 def filesystem_status raise NotImplementedError end |
#inspect ⇒ Object Also known as: to_s
113 114 115 116 117 118 119 |
# 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 |
#output(opts = {}) ⇒ Object
Output stderr and stdout
46 47 48 |
# File 'lib/aruba/processes/basic_process.rb', line 46 def output(opts = {}) stdout(opts) + stderr(opts) end |
#pid ⇒ Object
Output pid of process
41 42 43 |
# File 'lib/aruba/processes/basic_process.rb', line 41 def pid raise NotImplementedError end |
#restart ⇒ Object
Restart a command
87 88 89 90 |
# File 'lib/aruba/processes/basic_process.rb', line 87 def restart stop start end |
#send_signal ⇒ Object
70 71 72 |
# File 'lib/aruba/processes/basic_process.rb', line 70 def send_signal(*) raise NotImplementedError end |
#started? ⇒ Boolean
Was process already started
98 99 100 |
# File 'lib/aruba/processes/basic_process.rb', line 98 def started? @started == true end |
#stderr ⇒ Object
62 63 64 |
# File 'lib/aruba/processes/basic_process.rb', line 62 def stderr(*) raise NotImplementedError end |
#stdin ⇒ Object
54 55 56 |
# File 'lib/aruba/processes/basic_process.rb', line 54 def stdin(*) raise NotImplementedError end |
#stdout ⇒ Object
58 59 60 |
# File 'lib/aruba/processes/basic_process.rb', line 58 def stdout(*) raise NotImplementedError end |
#stopped? ⇒ Boolean
Was process already stopped
93 94 95 |
# File 'lib/aruba/processes/basic_process.rb', line 93 def stopped? @started == false end |
#timed_out? ⇒ Boolean
Does the process failed to stop in time
103 104 105 |
# File 'lib/aruba/processes/basic_process.rb', line 103 def timed_out? @timed_out == true end |
#wait ⇒ Object
82 83 84 |
# File 'lib/aruba/processes/basic_process.rb', line 82 def wait raise NotImplementedError end |
#write ⇒ Object
50 51 52 |
# File 'lib/aruba/processes/basic_process.rb', line 50 def write(*) raise NotImplementedError end |