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.
122 123 124 125 |
# File 'lib/logbrew.rb', line 122 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.
120 121 122 |
# File 'lib/logbrew.rb', line 120 def sent_bodies @sent_bodies end |
Class Method Details
.always_accept ⇒ Object
127 128 129 |
# File 'lib/logbrew.rb', line 127 def self.always_accept new([202]) end |
Instance Method Details
#last_body ⇒ Object
131 132 133 |
# File 'lib/logbrew.rb', line 131 def last_body @sent_bodies[-1] end |
#send(api_key, body) ⇒ Object
135 136 137 138 139 140 141 142 143 144 145 |
# File 'lib/logbrew.rb', line 135 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 |