Class: LogBrew::RecordingTransport
- Inherits:
-
Object
- Object
- LogBrew::RecordingTransport
- Defined in:
- lib/logbrew.rb
Instance Attribute Summary collapse
-
#sent_bodies ⇒ Object
readonly
Returns the value of attribute sent_bodies.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(scripted_responses = [202]) ⇒ RecordingTransport
constructor
A new instance of RecordingTransport.
- #last_body ⇒ Object
- #send(api_key, body) ⇒ Object
Constructor Details
#initialize(scripted_responses = [202]) ⇒ RecordingTransport
Returns a new instance of RecordingTransport.
68 69 70 71 |
# File 'lib/logbrew.rb', line 68 def initialize(scripted_responses = [202]) @scripted_responses = scripted_responses.empty? ? [202] : scripted_responses.dup @sent_bodies = [] end |
Instance Attribute Details
#sent_bodies ⇒ Object (readonly)
Returns the value of attribute sent_bodies.
66 67 68 |
# File 'lib/logbrew.rb', line 66 def sent_bodies @sent_bodies end |
Class Method Details
.always_accept ⇒ Object
73 74 75 |
# File 'lib/logbrew.rb', line 73 def self.always_accept new([202]) end |
Instance Method Details
#last_body ⇒ Object
77 78 79 |
# File 'lib/logbrew.rb', line 77 def last_body @sent_bodies[-1] end |
#send(api_key, body) ⇒ Object
81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/logbrew.rb', line 81 def send(api_key, body) Validation.require_non_empty("api_key", api_key) @sent_bodies << body response = @scripted_responses.empty? ? 202 : @scripted_responses.shift raise response if response.is_a?(TransportError) raise response if response.is_a?(SdkError) status_code = response.is_a?(TransportResponse) ? response.status_code : response.to_i TransportResponse.new(status_code.zero? ? 202 : status_code, 1) end |