Class: ActiveHarness::Result

Inherits:
Object
  • Object
show all
Defined in:
lib/active_harness/results/result.rb

Constant Summary collapse

SUCCESS =
:success
FAILED =
:failed
BLOCKED =
:blocked

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(status:, input: nil, output: nil, raw_response: nil, provider: nil, model: nil, usage: {}, attempts: [], debug: nil, error: nil) ⇒ Result

Returns a new instance of Result.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/active_harness/results/result.rb', line 11

def initialize(status:, input: nil, output: nil, raw_response: nil,
               provider: nil, model: nil, usage: {}, attempts: [],
               debug: nil, error: nil)
  @status       = status
  @input        = input
  @output       = output
  @raw_response = raw_response
  @provider     = provider
  @model        = model
  @usage        = usage
  @attempts     = attempts
  @debug        = debug
  @error        = error
end

Instance Attribute Details

#attemptsObject (readonly)

Returns the value of attribute attempts.



7
8
9
# File 'lib/active_harness/results/result.rb', line 7

def attempts
  @attempts
end

#debugObject (readonly)

Returns the value of attribute debug.



7
8
9
# File 'lib/active_harness/results/result.rb', line 7

def debug
  @debug
end

#errorObject (readonly)

Returns the value of attribute error.



7
8
9
# File 'lib/active_harness/results/result.rb', line 7

def error
  @error
end

#inputObject (readonly)

Returns the value of attribute input.



7
8
9
# File 'lib/active_harness/results/result.rb', line 7

def input
  @input
end

#modelObject (readonly)

Returns the value of attribute model.



7
8
9
# File 'lib/active_harness/results/result.rb', line 7

def model
  @model
end

#outputObject (readonly)

Returns the value of attribute output.



7
8
9
# File 'lib/active_harness/results/result.rb', line 7

def output
  @output
end

#providerObject (readonly)

Returns the value of attribute provider.



7
8
9
# File 'lib/active_harness/results/result.rb', line 7

def provider
  @provider
end

#raw_responseObject (readonly)

Returns the value of attribute raw_response.



7
8
9
# File 'lib/active_harness/results/result.rb', line 7

def raw_response
  @raw_response
end

#usageObject (readonly)

Returns the value of attribute usage.



7
8
9
# File 'lib/active_harness/results/result.rb', line 7

def usage
  @usage
end

Class Method Details

.blocked(input:, output: nil, debug: nil) ⇒ Object



47
48
49
# File 'lib/active_harness/results/result.rb', line 47

def self.blocked(input:, output: nil, debug: nil)
  new(status: BLOCKED, input: input, output: output, debug: debug)
end

.failed(error: nil, input: nil, debug: nil) ⇒ Object



51
52
53
# File 'lib/active_harness/results/result.rb', line 51

def self.failed(error: nil, input: nil, debug: nil)
  new(status: FAILED, error: error, input: input, debug: debug)
end

.success(input:, output:, raw_response:, provider:, model:, usage:, attempts:, debug: nil) ⇒ Object

Factory helpers



40
41
42
43
44
45
# File 'lib/active_harness/results/result.rb', line 40

def self.success(input:, output:, raw_response:, provider:, model:,
                 usage:, attempts:, debug: nil)
  new(status: SUCCESS, input: input, output: output,
      raw_response: raw_response, provider: provider,
      model: model, usage: usage, attempts: attempts, debug: debug)
end

Instance Method Details

#blocked?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/active_harness/results/result.rb', line 34

def blocked?
  @status == BLOCKED
end

#failed?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/active_harness/results/result.rb', line 30

def failed?
  @status == FAILED
end

#success?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/active_harness/results/result.rb', line 26

def success?
  @status == SUCCESS
end