Class: Backspin::BackspinResult

Inherits:
Object
  • Object
show all
Defined in:
lib/backspin/backspin_result.rb

Overview

Aggregate result returned by Backspin.run/capture.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(mode:, record_path:, actual:, expected: nil, verified: nil, command_diff: nil, output: nil) ⇒ BackspinResult

Returns a new instance of BackspinResult.



8
9
10
11
12
13
14
15
16
# File 'lib/backspin/backspin_result.rb', line 8

def initialize(mode:, record_path:, actual:, expected: nil, verified: nil, command_diff: nil, output: nil)
  @mode = mode
  @record_path = record_path
  @actual = actual
  @expected = expected
  @verified = verified
  @command_diff = command_diff
  @output = output
end

Instance Attribute Details

#actualObject (readonly)

Returns the value of attribute actual.



6
7
8
# File 'lib/backspin/backspin_result.rb', line 6

def actual
  @actual
end

#expectedObject (readonly)

Returns the value of attribute expected.



6
7
8
# File 'lib/backspin/backspin_result.rb', line 6

def expected
  @expected
end

#modeObject (readonly)

Returns the value of attribute mode.



6
7
8
# File 'lib/backspin/backspin_result.rb', line 6

def mode
  @mode
end

#outputObject (readonly)

Returns the value of attribute output.



6
7
8
# File 'lib/backspin/backspin_result.rb', line 6

def output
  @output
end

#record_pathObject (readonly)

Returns the value of attribute record_path.



6
7
8
# File 'lib/backspin/backspin_result.rb', line 6

def record_path
  @record_path
end

Instance Method Details

#diffObject



29
30
31
32
33
# File 'lib/backspin/backspin_result.rb', line 29

def diff
  return nil unless verified? == false

  @command_diff&.diff
end

#error_messageObject



35
36
37
38
39
40
41
42
43
# File 'lib/backspin/backspin_result.rb', line 35

def error_message
  return nil unless verified? == false
  return "Output verification failed" unless @command_diff

  msg = "Output verification failed:\n\n"
  msg += @command_diff.summary
  msg += "\n#{@command_diff.diff}" if @command_diff.diff
  msg
end

#failure?Boolean

Returns:

  • (Boolean)


49
50
51
# File 'lib/backspin/backspin_result.rb', line 49

def failure?
  !success?
end

#recorded?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/backspin/backspin_result.rb', line 18

def recorded?
  mode == :record
end

#success?Boolean

Returns:

  • (Boolean)


45
46
47
# File 'lib/backspin/backspin_result.rb', line 45

def success?
  actual&.success? || false
end

#to_hObject



53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/backspin/backspin_result.rb', line 53

def to_h
  hash = {
    mode: mode,
    record_path: record_path,
    actual: actual&.to_h
  }

  hash[:expected] = expected&.to_h
  hash[:verified] = verified? unless verified?.nil?
  hash[:diff] = diff if diff
  hash
end

#verified?Boolean

true/false for verify mode, nil for record mode

Returns:

  • (Boolean)


23
24
25
26
27
# File 'lib/backspin/backspin_result.rb', line 23

def verified?
  return nil if mode == :record

  @verified
end