Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: myronmarston/vcr
head fork: myronmarston/vcr
Checking mergeability… Don't worry, you can still create the pull request.
Commits on Mar 10, 2010
@myronmarston Refactored some of the step definitions. 6b7166a
@myronmarston Added asynchronous request replay scenario. This functionality works …
…but I didn't a scenario demonstrating it before.
Commits on Mar 13, 2010
@myronmarston Corrected the wording on a couple of specs. 6b148a0
@myronmarston Fixed a typo and the copyright date. f4eb12f
@myronmarston Updated Readme with links to the CI servers. 4714a00
Commits on Mar 24, 2010
@myronmarston Updated some of the method names/option keys to fit the VCR metaphor …
…better. The first pass of the code was based on "sandboxes" rather than "cassettes" and the terminology reflected that.


* VCR.create_cassette! => VCR.insert_cassette
* VCR.destroy_cassette! => VCR.eject_cassette
* VCR.with_cassette => VCR.use_cassette
* VCR::Cassette#destroy! => VCR::Cassette#eject
* VCR::Cassette#cache_file => VCR::Cassette#file
* VCR::Config.cache_dir => VCR::Config.cassette_library_dir
* :unregistered record mode => :new_episodes record mode
@myronmarston Moved the VCR::Config.default_cassette_record_mode deprecation into t…
…he deprecation file.
@myronmarston Updated readme. 7bdd7ab
Commits on Mar 25, 2010
@myronmarston Fixed deprecation warning message to use the correct method name. ea72321
@myronmarston 0.3.0 release. d4767bf
Commits on Apr 11, 2010
@myronmarston Updated our Net::HTTP extension so that the response is yielded after…
… the response is stored, in case the block has a return statement. Closes GH-1.
@myronmarston 0.3.1 release. 323d72d
@myronmarston Added request body and headers to recorded response. These will come …
…in handy for getting VCR to work with webmock.
@myronmarston Extracted the interactions with FakeWeb into an adapter so we can imp…
…lement the same adapter interface for other http stubbing libraries like WebMock.
@myronmarston Pulled the fakeweb logic that constructs the request_uri out of the n…
…et http extension and put it in the fakeweb extension.
@myronmarston Use the fakeweb http_stubbing_adapter rather than using fakeweb direc…
@myronmarston Updated features rake task to run the features against multiple http_…
@myronmarston Instead of unstubbing the previously stubbed requests, use a checkpoi…
…nt system, so that the http_stubbing registry is returned to exactly the same state.
@myronmarston Removed unneeded fakeweb extensions. 8fe911f
Commits on Apr 15, 2010
@myronmarston Changed the format of the cassettes. Use a VCR structured object rath…
…er than a Net::HTTP response as that is tied directly to net/http and I hope to get this to work with other http libraries eventually.
@myronmarston Added rake task to migrate old VCR cassettes to the new format, to ma…
…ke it easy for VCR users to upgrade.
@myronmarston Migrated all of the vcr cassette fixtures using the rake task. 59acae8
@myronmarston Added back request bodies since I had lost them in the migration. 11bbf3b
@myronmarston Updated the code to work with the new structs and terminology. a835bb5
@myronmarston Implemented the WebMock http stubbing adapter. 208310e
Commits on Apr 16, 2010
@myronmarston Updated the http interaction structs:
- Renamed RequestSignature to Request since the object represents the actual request.
- Changed the response headers to use an array for the values, since a response can have multiple values for the same header.
@myronmarston Updated our cassette fixtures to the latest format. 9a01697
Commits on Apr 17, 2010
@myronmarston Use VCR.http_stubbing_adapter rather than VCR::Config.http_stubbing_a…
@myronmarston Allow the webmock adapter to be used. 011586c
@myronmarston Update the default rake task to that it runs the features with the we…
…bmock adapter in addition to the fakeweb one.
@myronmarston Temporarily disable a spec that won't pass until some changes are mad…
…e to webmock.
@myronmarston Load our net/http extension so it gets used when webmock is used. Whe…
…n fakeweb is used, our net/http extension has to be loaded after it, so we load it after webmock as well.
@myronmarston Simplified our net http extension. 57dec56
@myronmarston Added logic to VCR::Config.http_stubbing_adapter so that it returns t…
…he appropriate value if just one of fakeweb/webmock are loaded.
@myronmarston Raise a helpful error message when people try to use VCR with depreca…
…ted cassettes.
Commits on Apr 18, 2010
@myronmarston Made most of VCR::Cassette's methods private. I had forgotten to make…
… the methods private before, but most of them don't need to be exposed.
@myronmarston Reorganized some code. d17615b
@myronmarston Disallow http connections by default. 5d89dff
@myronmarston Updated exception message to be more helpful. 0242578
@myronmarston Check that the versions of FakeWeb and WebMock are supported. 80ad7b3
@myronmarston Disallow http connections and check the adapter version when the VCR.…
…config block completes, rather than the first time http_stubbing_adpater is accessed. This ensures that these things are done before the test suite starts running.
Commits on Apr 19, 2010
@myronmarston Bumped the webmock version requirement to 1.1.0 as that is the versio…
…n number that will be used for the webmock release that supports VCR.
@myronmarston Override WebMock::NetConnectNotAllowedError so that it includes a hel…
…pful message about using VCR.
Commits on Apr 22, 2010
@myronmarston Added a benchmark to test the performance characterstics of fakeweb v…
…s webmock.
@myronmarston Renamed file. 8d41610
@myronmarston Fixed the vcr task so it actually, you fffd3aa
@myronmarston Change History file to markdown format and renamed it to changelog. 3e442f3
Commits on Apr 24, 2010
@myronmarston Renamed VCR::Cassette#http_stubbing_adapter to http_stubbing_library. 632db1f
@myronmarston Changed the readme to markdown format, and re-wrote most of it. cff2b84
@myronmarston Updated CHANGELOG with the info about what is coming in the next rele…
@myronmarston Updated gemspec info. ee245f3
@myronmarston Updated the cucumber VCR configuration so that it uses :fakeweb by de…
…fault if HTTP_STUBBING_ADAPTER is not set.
Commits on Apr 29, 2010
@myronmarston Use strings instead of symbols for the hash keys for Net::HTTP.post_f…

On my ruby 1.9.1 CI server, the build is failing with this error: "TypeError: can't dup Symbol".  I can't repro this locally (maybe a different 1.9.1 patch level?), but I think this may fix it.
@myronmarston 0.4.0 release. 7663252
Commits on May 12, 2010
@myronmarston Fixed a bug: Net::HTTPResponse#read_body was raising an error because…
… VCR "pre-read" the body when recording a new request.

My fix is to extend the already read response with a module that attempts to preserve the behavior of #read_body when the response has not yet been read.
@myronmarston 0.4.1 release. dfceeb1