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
to_s()
Alias for: inspect
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