Class: VCR::HTTPInteraction
- Inherits:
-
Struct
- Object
- Struct
- VCR::HTTPInteraction
- Defined in:
- lib/vcr/structs.rb
Overview
Represents a single interaction over HTTP, containing a request and a response.
Direct Known Subclasses
Defined Under Namespace
Classes: HookAware
Instance Attribute Summary collapse
-
#recorded_at ⇒ Time
when this HTTP interaction was recorded.
-
#request ⇒ Request
the request.
-
#response ⇒ Response
the response.
Class Method Summary collapse
-
.from_hash(hash) ⇒ HTTPInteraction
Constructs a new instance from a hash.
Instance Method Summary collapse
-
#hook_aware ⇒ HookAware
An instance with additional capabilities suitable for use in ‘before_record` and `before_playback` hooks.
-
#initialize(*args) ⇒ HTTPInteraction
constructor
A new instance of HTTPInteraction.
-
#to_hash ⇒ Hash
Builds a serializable hash from the HTTP interaction data.
Constructor Details
#initialize(*args) ⇒ HTTPInteraction
Returns a new instance of HTTPInteraction.
484 485 486 487 |
# File 'lib/vcr/structs.rb', line 484 def initialize(*args) super self.recorded_at ||= Time.now end |
Instance Attribute Details
#recorded_at ⇒ Time
when this HTTP interaction was recorded
483 484 485 |
# File 'lib/vcr/structs.rb', line 483 def recorded_at @recorded_at end |
#request ⇒ Request
the request
483 484 485 |
# File 'lib/vcr/structs.rb', line 483 def request @request end |
#response ⇒ Response
the response
483 484 485 |
# File 'lib/vcr/structs.rb', line 483 def response @response end |
Class Method Details
.from_hash(hash) ⇒ HTTPInteraction
Constructs a new instance from a hash.
508 509 510 511 512 |
# File 'lib/vcr/structs.rb', line 508 def self.from_hash(hash) new Request.from_hash(hash.fetch('request', {})), Response.from_hash(hash.fetch('response', {})), Time.httpdate(hash.fetch('recorded_at')) end |
Instance Method Details
#hook_aware ⇒ HookAware
Returns an instance with additional capabilities suitable for use in ‘before_record` and `before_playback` hooks.
516 517 518 |
# File 'lib/vcr/structs.rb', line 516 def hook_aware HookAware.new(self) end |
#to_hash ⇒ Hash
Builds a serializable hash from the HTTP interaction data.
494 495 496 497 498 499 500 501 502 |
# File 'lib/vcr/structs.rb', line 494 def to_hash { 'request' => request.to_hash, 'response' => response.to_hash, 'recorded_at' => recorded_at.httpdate }.tap do |hash| OrderedHashSerializer.apply_to(hash, members) end end |