Class: Aidp::Interfaces::CommandResult

Inherits:
Object
  • Object
show all
Defined in:
lib/aidp/interfaces/command_executor_interface.rb

Overview

Result object returned by command execution. Immutable value object containing stdout, stderr, and exit status.

Examples:

Creating a result

result = CommandResult.new(stdout: "Hello", stderr: "", exit_status: 0)
result.success? # => true
result.out      # => "Hello"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(stdout:, stderr:, exit_status:) ⇒ CommandResult

Returns a new instance of CommandResult.

Parameters:

  • stdout (String)

    standard output from the command

  • stderr (String)

    standard error from the command

  • exit_status (Integer)

    exit status code



60
61
62
63
64
65
# File 'lib/aidp/interfaces/command_executor_interface.rb', line 60

def initialize(stdout:, stderr:, exit_status:)
  @stdout = stdout.to_s.freeze
  @stderr = stderr.to_s.freeze
  @exit_status = exit_status.to_i
  freeze
end

Instance Attribute Details

#exit_statusObject (readonly)

Returns the value of attribute exit_status.



55
56
57
# File 'lib/aidp/interfaces/command_executor_interface.rb', line 55

def exit_status
  @exit_status
end

#stderrObject (readonly)

Returns the value of attribute stderr.



55
56
57
# File 'lib/aidp/interfaces/command_executor_interface.rb', line 55

def stderr
  @stderr
end

#stdoutObject (readonly)

Returns the value of attribute stdout.



55
56
57
# File 'lib/aidp/interfaces/command_executor_interface.rb', line 55

def stdout
  @stdout
end

Instance Method Details

#errString

Alias for stderr for compatibility with TTY::Command::Result

Returns:

  • (String)


80
81
82
# File 'lib/aidp/interfaces/command_executor_interface.rb', line 80

def err
  @stderr
end

#outString

Alias for stdout for compatibility with TTY::Command::Result

Returns:

  • (String)


74
75
76
# File 'lib/aidp/interfaces/command_executor_interface.rb', line 74

def out
  @stdout
end

#success?Boolean

Returns true if exit_status is 0.

Returns:

  • (Boolean)

    true if exit_status is 0



68
69
70
# File 'lib/aidp/interfaces/command_executor_interface.rb', line 68

def success?
  @exit_status.zero?
end