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, #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


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

def close_io(*); end

#startObject


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

def start
  @started = true
  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


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

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


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

def stdin(*); end

#stdoutString

Return stdout

Returns:

  • (String)

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


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

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

#stopObject

Stop process


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

def stop(*)
  @started = false

  @exit_status
end

#terminateObject

Terminate process


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

def terminate(*)
  stop
end

#writeObject

Write to nothing


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

def write(*); end