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.
52 53 54 55 |
# File 'lib/logbrew.rb', line 52 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.
50 51 52 |
# File 'lib/logbrew.rb', line 50 def sent_bodies @sent_bodies end |
Class Method Details
.always_accept ⇒ Object
57 58 59 |
# File 'lib/logbrew.rb', line 57 def self.always_accept new([202]) end |
Instance Method Details
#last_body ⇒ Object
61 62 63 |
# File 'lib/logbrew.rb', line 61 def last_body @sent_bodies[-1] end |
#send(api_key, body) ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/logbrew.rb', line 65 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 |