Class: Aruba::Processes::DebugProcess

Inherits:
BasicProcess show all
Defined in:
lib/aruba/processes/debug_process.rb

Overview

Run your command in systemd() to make debugging it easier

DebugProcess is not meant for direct use - InProcess.new - by users. Only it's public methods are part of the public API of aruba, e.g. #stdin, #stdout.

Instance Attribute Summary

Attributes inherited from BasicProcess

#environment, #exit_status, #exit_timeout, #io_wait_timeout, #main_class, #startup_wait_time, #working_directory

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BasicProcess

#after_run, #before_run, #commandline, #content, #filesystem_status, #initialize, #inspect, #output, #pid, #restart, #run!, #send_signal, #started?, #stopped?, #timed_out?, #wait

Constructor Details

This class inherits a constructor from Aruba::Processes::BasicProcess

Class Method Details

.match?(mode) ⇒ Boolean

Use only if mode is :debug

Returns:

  • (Boolean)


16
17
18
# File 'lib/aruba/processes/debug_process.rb', line 16

def self.match?(mode)
  mode == :debug || (mode.is_a?(Class) && mode <= DebugProcess)
end

Instance Method Details

#close_ioObject

Close nothing



54
# File 'lib/aruba/processes/debug_process.rb', line 54

def close_io(*); end

#startObject



20
21
22
23
24
25
26
# File 'lib/aruba/processes/debug_process.rb', line 20

def start
  Dir.chdir @working_directory do
    Aruba.platform.with_environment(environment) do
      @exit_status = system(command, *arguments) ? 0 : 1
    end
  end
end

#stderrString

Return stderr

Returns:

  • (String)

    A predefined string to make users aware they are using the DebugProcess



46
47
48
# File 'lib/aruba/processes/debug_process.rb', line 46

def stderr(*)
  'This is the debug launcher on STDERR. If this output is unexpected, please check your setup.'
end

#stdinNilClass

Return stdin

Returns:

  • (NilClass)

    Nothing



32
# File 'lib/aruba/processes/debug_process.rb', line 32

def stdin(*); end

#stdoutString

Return stdout

Returns:

  • (String)

    A predefined string to make users aware they are using the DebugProcess



38
39
40
# File 'lib/aruba/processes/debug_process.rb', line 38

def stdout(*)
  'This is the debug launcher on STDOUT. If this output is unexpected, please check your setup.'
end

#stopObject

Stop process



57
58
59
60
61
# File 'lib/aruba/processes/debug_process.rb', line 57

def stop(*)
  @started = false

  @exit_status
end

#terminateObject

Terminate process



64
65
66
# File 'lib/aruba/processes/debug_process.rb', line 64

def terminate(*)
  stop
end

#writeObject

Write to nothing



51
# File 'lib/aruba/processes/debug_process.rb', line 51

def write(*); end