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: kirkconnell/vcr
head fork: kirkconnell/vcr
Checking mergeability… Don't worry, you can still create the pull request.
This comparison is big! We're only showing the most recent 250 commits
Commits on Aug 26, 2011
@myronmarston myronmarston Fix warning: "loading in progress, circular require considered harmful". bae5941
@myronmarston myronmarston Fix "instance variable not initialized" warnings. 0fe1d97
@myronmarston myronmarston Fix warning: "`&' interpreted as argument prefix". a450306
@myronmarston myronmarston Fix uninitialized variable warning. 3ebaa96
@myronmarston myronmarston Fix mis-matched indentation warning. 735500c
@myronmarston myronmarston Fix method redefinition warning. db9212e
Commits on Aug 27, 2011
@myronmarston myronmarston I have no idea why, but `should eq(regex)` is causing a seg fault on …
…1.8.6 but this way doesn't.
@myronmarston myronmarston Fix uninitialized ivar warning. 7e2ef02
@myronmarston myronmarston Setup warnings as part of the build.
- Always run specs with warnigs enabled.
- Fail the build if there are warnings from VCR's code.
- Capture the warnings and print it on exit so the output is cleaner.
@myronmarston myronmarston Silence method redefinition warnings. 7eedbc8
@myronmarston myronmarston Fix uninitialized ivar warnings. edc2b5f
@myronmarston myronmarston Enable warnings on travis, too. d8a5b21
Commits on Aug 28, 2011
@myronmarston myronmarston Close our temporary file. 29e99aa
Commits on Aug 29, 2011
@myronmarston myronmarston Update patron and curb dependencies. 1a5a770
@myronmarston myronmarston Fix uninitialized ivar warning. ef6007c
@myronmarston myronmarston Fix "unused variable" warnings on 1.9.3. bc012fd
@myronmarston myronmarston Filter out warnings that JRuby wrongly reports as coming from VCR tha…
…t are actually coming from excon.
@myronmarston myronmarston 1.11.2 release. 76c8d2b
Commits on Sep 01, 2011
@myronmarston myronmarston Ensure that VCR::HTTPInteraction does not serialize `@ignored` since …
…it's transient state.
@myronmarston myronmarston Convert pseudo-regexps to real regexps. 8545f21
@myronmarston myronmarston 1.11.3 release. 0544db9
Commits on Sep 04, 2011
@myronmarston myronmarston Fix capture warnings hook.
It was preventing RSpec from failing the build when a spec failed by overriding the at_exit hook.
@myronmarston myronmarston Build with --trace so we get a full backtrace. a2c36c3
Commits on Sep 05, 2011
@myronmarston myronmarston Rubygems must be required before rspec on 1.8. 68e89ca
Commits on Sep 08, 2011
@myronmarston myronmarston Latest relish and cucumber. 751bf4f
@myronmarston myronmarston Tag multi-line strings with "ruby" so we get syntax highlighting on r…
@myronmarston myronmarston Add note about :once as default record mode. 522ef5e
@myronmarston myronmarston Use syntax-highlighted markdown code syntax. 43fea87
@myronmarston myronmarston Use default record mode of :once rather than specifying it in a bunch…
… of places where it's not an important detail.
Commits on Sep 10, 2011
@myronmarston myronmarston Bump version to 2.0.0.pre.
I'm going to start working on some new 2.0 features in the VCR master branch :).
@myronmarston myronmarston Don't build VCR 2.0 on 1.8.6.
I'm dropping support for 1.8.6 and it fails intermittently on travis anyway.
Commits on Sep 11, 2011
@myronmarston myronmarston Don't bother testing against 1.9.1 anymore.
I don't plan to have VCR 2.0 support 1.9.1 and this allows us to cleanup a lot of special case code for 1.9.1.
@myronmarston myronmarston Some additional cleanup to remove 1.8.6/1.9.1 support. c812e28
@myronmarston myronmarston Update changelog. 145918e
@myronmarston myronmarston Remove lots of old deprecations. 004dfa9
@myronmarston myronmarston Don't run cukes on jRuby on travis since it takes so long. 19c93af
@myronmarston myronmarston Prefer a true closure to eval'ing a string.
We had to eval a string to support 1.8.6 since 1.8.6 cannot have a `&block` block parameter.
@myronmarston myronmarston Remove task that is no longer needed. 6c55cff
@myronmarston myronmarston Change VCR::Hooks so it can be used in a class.
The old version just worked in a singleton module (i.e. a module that is extended on itself).
Commits on Sep 12, 2011
@myronmarston myronmarston Deprecate `VCR::Config` in favor of `VCR.configuration` and `VCR.conf…
…ig` in favor of `VCR.configure`.

- "config" is ambiguous--is it short for "configure" (the verb) or "configuration" (the noun)?
- I like this new way since it's more inline with other ruby libraries like RSpec.
- The old singleton module made isolated tests hard as there was a lot of global state to cleanup between tests.  Now there is just one piece of state: the VCR::Configuration instance held by VCR.configuration.  This makes it far easier to keep my tests isolated.
Commits on Sep 13, 2011
@myronmarston myronmarston Refactor webmock adapter to use the block interface. dc69915
@myronmarston myronmarston Make the regex scenarios pending since the webmock refactoring doesn'…
…t easily work with it.

I'll need to refactor the request matchers before the regex feature will work again.
Commits on Sep 14, 2011
@myronmarston myronmarston Move FakeWeb/Net::HTTP specific logic into the FakeWeb adapter. b658d78
Commits on Sep 17, 2011
@myronmarston myronmarston Refactor FakeWeb adapter.
This allows FakeWeb to match requests on body and headers.
@myronmarston myronmarston Refactor/simplify how connection errors are raised. bd4c2bf
@myronmarston myronmarston Refactor the Typhoeus adapter. fb7c903
@myronmarston myronmarston Cleanup how we reset the stubbing adapters for the specs. e38a150
Commits on Sep 18, 2011
@myronmarston myronmarston Add test coverage of WebMock and Typhoeus being used together.
This already worked but it's nice to get the test coverage so we know it will continue to work.
@myronmarston myronmarston Set some ENV vars to speed up jRuby cukes and enable cukes on jRuby o…
…n travis.
Commits on Sep 19, 2011
@myronmarston myronmarston Remove cucumber guard.
I'm finding it more annoying then useful. I just want to use guard for the specs.
@myronmarston myronmarston Extract the version checking logic into its own class.
Single responsibility principle is a good thing.
@myronmarston myronmarston Fix ruby warnings (private attributes). 085f006
@myronmarston myronmarston Remove some old deprecations.
I meant to remove these in commit 004dfa9 but missed them.
@myronmarston myronmarston Remove 1.8.6 and 1.9.1 from the list of supported ruby versions. a6f0410
Commits on Sep 23, 2011
@myronmarston myronmarston Override WebMock.reset! to preserve the global VCR/WebMock hook.
This allows us hook into every request, rather than just the ones that happen while a cassette is inserted.
@myronmarston myronmarston Remove unnecessary cleanup lines from global before(:each) hook. daae550
@myronmarston myronmarston Only build master and 1-x-stable branches. 5847e49
@myronmarston myronmarston Ignore rvmrc. 47585f8
@myronmarston myronmarston Reorganize struct requires so that "vcr/structs/http_interaction" req…
…uires them all.
@myronmarston myronmarston Add initial version of RequestMatcherRegistry. 29117f9
@myronmarston myronmarston Add HTTPInteractionList class to manage a list of HTTP interactions f…
…or a cassette.
Commits on Sep 24, 2011
@myronmarston myronmarston Require spec_helper before the spec files so we don't get an RSpec co…
…nfig warning.
@myronmarston myronmarston Use the new HTTPInteractionList rather than stubbing requests on the …
…HTTP Stubbing Adapter.

This allows us to remove the RequestMatcher and Regexes classes since
they are no longer used.
Commits on Sep 25, 2011
@myronmarston myronmarston Split massive request_matching cuke into individual ones.
Also, remove regex scenario as VCR 2.0 will no longer be supporting that.
@myronmarston myronmarston Rework changelog a bit. ad12768
@myronmarston myronmarston Correct config specs.
They got a bit messed up during a global find and replace operation before.
@myronmarston myronmarston Add ability to register custom request matchers. c77e172
@myronmarston myronmarston Fix spec ruby_opts so that the spec_helper file is only loaded once.
We require it as "spec_helper" from our specs so it's important we do the same here so it's not double-required.  This fixes a few warnings on ruby 1.8.
Commits on Sep 26, 2011
@myronmarston myronmarston Remove need to require 'vcr_cucumber_helpers' in each scenario.
This is an implementation detail of how the cukes work and need not be publicly exposed as part of the cucumber scenarios.
Commits on Sep 28, 2011
@myronmarston myronmarston Remove unused error class. 0b63d3e
Commits on Sep 29, 2011
@myronmarston myronmarston Remove unnecessary VariableArgsBlockCaller.
It came in handy in 1.x releases to preserve backwards compatibility, so that if people used lambdas for some of the blocks/hooks, they would not get an ArgumentError when I added new yielded args, but it's not really needed.
@myronmarston myronmarston Revert "Remove unnecessary VariableArgsBlockCaller."
This reverts commit e27202d.

Unfortunately, 1.8 and 1.9 blocks have different behavior:

block = { |x| puts x.inspect }, 2)

On 1.8, x gets [1, 2]; on 1.9, x gets 1.  So this VariableArgsBlockCaller is more important than I thought to maintain 1.8 compatibility.
@myronmarston myronmarston Remove excess cuke scenarios that aren't providing much benefit. f23ad1f
Commits on Sep 30, 2011
@myronmarston myronmarston Use more consistent regexes. e7125e7
@myronmarston myronmarston Refactor http_connections_allowed.
It's far simpler to query its state at request time then to assign its
state to the HTTP stubbing adapters.
Commits on Oct 01, 2011
@myronmarston myronmarston Woops, it's a method not an ivar. 0451f5a
@myronmarston myronmarston Refactor request ignoring. 1de112c
@myronmarston myronmarston Remove obselete code that is no longer needed. 65f1389
@myronmarston myronmarston Add travis build status image. af93528
@myronmarston myronmarston Remove unneeded before(:each) hook. 2d24d0a
@myronmarston myronmarston Refactor the way we check versions of external dependencies. aee1482
@myronmarston myronmarston Remove unused dead code. 0c0a613
@myronmarston myronmarston Force the stubbing adapter to load. c034add
Commits on Oct 02, 2011
@myronmarston myronmarston Shorten VCR.request_matcher_registry to VCR.request_matchers. 3865cd4
@myronmarston myronmarston We really only care if the registry has the key, not what it is. b478428
@myronmarston myronmarston Allow any callable to be passed as a request matcher. c51338d
@myronmarston myronmarston Add uri_without_param(s) feature. e5d899c
@myronmarston myronmarston Thanks to @avdi for the helpful suggestion to make any callable a mat…
@myronmarston myronmarston Cleanup typhoeus adapter a bit. 60e5c5c
@myronmarston myronmarston Standardize indentation of privates. 7ab9679
@myronmarston myronmarston Clean up webmock adapter a bit. 61f1021
@myronmarston myronmarston Add :allow_playback_repeats option and turn off repeats by default.
Closes #54.
@myronmarston myronmarston Remove MultiObjectProxy since it's no longer needed. cae04f3
@myronmarston myronmarston Remove #after_adapters_loaded from adapter interface.
Instead, use a callback.
@myronmarston myronmarston Ensure that VCR will work even if an end user calls WebMock.disable_n…
Commits on Oct 03, 2011
@myronmarston myronmarston Simplify how the HTTP stubbing adapters get loaded. b19d442
@myronmarston myronmarston Fix typo. 407af54
@myronmarston myronmarston Simplify how stubbing adapters get disabled. e7f7e4b
@myronmarston myronmarston Add some notes/questions about what to do with Faraday. f932824
@myronmarston myronmarston Move deprecations to the root vcr directory.
There's no point to having a folder with only one file.
@myronmarston myronmarston Clean up the errors VCR raises.
This also allows us to remove the unneeded VCR::HTTPStubbingAdapters::Common module.
@myronmarston myronmarston Simplify requires and autoloads.
These things didn't need to all be separately files. Fewer files is good, since 1.9.2 has performance problems with too many requires.
@myronmarston myronmarston Remove unused variable.
This fixes a warning on 1.9.3.
Commits on Oct 04, 2011
@myronmarston myronmarston Simplify the shared example group structure of the adapters. 8ba7f47
@myronmarston myronmarston Extract common request handling logic into a base class. b3bc7d3
Commits on Oct 05, 2011
@myronmarston myronmarston Overhaul faraday middleware/adapter.
* `config.stub_with :faraday` is deprecated. Just use the middleware.
* The middleware no longer takes a block that determines the cassette. Instead, you
  will need to wrap your requests in `VCR.use_cassette`, just like for every other
* Update acceptable Faraday version constraint to ~> 0.7.0.
* Use faraday's `on_complete` hook for after request actions.

Closes #64.
@myronmarston myronmarston Moved a couple more error class definitions in to errors.rb. a403367
@myronmarston myronmarston Remove faraday w/ patron scenarios.
These have timeout issues--patron doesn't seem to work well when the server is in the same process in a different thread.
Commits on Oct 06, 2011
@myronmarston myronmarston Remove unnecessary module VCR::Middleware::Common.
It was only being used by the rack middleware so I can just move it in there.
@myronmarston myronmarston Simplify default_cassette_options. 4c3d226
@myronmarston myronmarston Remove unneeded hook invocation. 7481cbf
@myronmarston myronmarston Deprecate #stub_with in favor of #hook_into.
#stub_with made sense when VCR worked only with FakeWeb and WebMock, but `stub_with :faraday` and `stub_with :excon` never really made sense.  Now that the integration is no longer through the adapter design pattern, and simply uses FakeWeb/WebMock/Excon/Typhoeus/Faraday to hook into the request, `hook_into` makes a lot more sense.
@myronmarston myronmarston Remove unnecessary disabled? check. dbf7a20
@myronmarston myronmarston Update relish nav. b44e3a0
Commits on Oct 07, 2011
@myronmarston myronmarston Add :exclusive cassette option.
Closes #53.
Commits on Oct 09, 2011
@myronmarston myronmarston 2.0.0.beta1 release. e57f1c3
@myronmarston myronmarston Use past tense verb like the other parts of the changelog. 60f00d1
@myronmarston myronmarston Turn uri_without_param matcher lambda into a first-class object.
This also has the potential perf benefit of being memoized.
Commits on Oct 11, 2011
@myronmarston myronmarston We should require the files we use. ef54e61
@myronmarston myronmarston Allow a uri_without_param matcher to be converted to a proc.
This allows it to be easily registered as a matcher.
Commits on Oct 13, 2011
@myronmarston myronmarston Remove obselete tag. ff54320
@myronmarston myronmarston Don't do lossy normalization to the cassette data.
The normalization was originally done so that the cassette contents would be the same, regardless of the HTTP library used.  However, this normalization was lossy and could not always be accurately denormalized.

The most important thing is that VCR replays a response exactly as it originally occurred.

For more background on this, see

Closes #78.
@myronmarston myronmarston 1.8 cannot parse default values for block args. 9a46f20
@myronmarston myronmarston Net/HTTP adds a user agent header on 1.9 but not 1.8. c2a794b
@myronmarston myronmarston Patron adds an "Expect" header. 90d9413
@myronmarston myronmarston Allow for nil request headers hash. a274f7f
Commits on Oct 14, 2011
@myronmarston myronmarston Combine separate struct files into one.
There isn't much need for so many smaller files. With 1.9.2's slow require issue, it's better to have fewer files, too.
@myronmarston myronmarston Might as well combine the struct specs, too. ca7e065
Commits on Oct 16, 2011
@myronmarston myronmarston Add travis-testing branch to list of branches listed by travis.
@myronmarston myronmarston Upgrade to rspec 2.7.
In 2.7, the skip_bundler rake task option is deprecated.
Commits on Oct 17, 2011
@myronmarston myronmarston Setup rbx build on travis. e100a15
Commits on Oct 18, 2011
@myronmarston myronmarston Define some new travis build targets.
- rbx
- ruby-head
- jruby w/ --1.9 flag
Commits on Oct 19, 2011
@myronmarston myronmarston Remove some travis build targets that are causing problems.
- ruby-head isn't passing yet and I'm not sure how stable it is.
- the JRuby 1.8/1.9 thing caused all of the build targets to fail but travis is giving me no build output to indicate why.
@myronmarston myronmarston Update to latest typhoeus. No more need to monkey patch it! 46c3be8
Commits on Oct 27, 2011
@myronmarston myronmarston We don't need to support 1.8.6 any more. c087678
@myronmarston myronmarston Fix structs_spec so that is runnable in isolation without loading spe…
@myronmarston myronmarston Add #to_hash and .from_hash methods to structs. 8c30044
@myronmarston myronmarston Add serializers. d78941d
@myronmarston myronmarston Add a rake task to migrate the cassettes from the 1.x format to the 2…
….x format.

Also, normalize nil body to a blank string.

It's nice to always be able to treat the body as a string and not need to worry about a nil special case.
@myronmarston myronmarston First pass at using the new serializers. 03c4e86
@myronmarston myronmarston Lazily load the YAML serializer. 0a934ca
@myronmarston myronmarston Remove unneeded VCR::YAML module. 3ddec24
@myronmarston myronmarston Add syck and psych serializers. e0a75c0
@myronmarston myronmarston Add JSON serializer using MultiJson. 1111e69
Commits on Oct 28, 2011
@myronmarston myronmarston Fix cucumber helper method to return an HTTP interaction like it is m…
…eant to.
@myronmarston myronmarston Add :serialize_with cassette option. d54d572
@myronmarston myronmarston Allow users to register custom serializers.
Closes #62.
@myronmarston myronmarston Add todo 3771291
Commits on Oct 29, 2011
@myronmarston myronmarston Work around weird ruby 1.8 bug.
See and rspec/rspec-core#487 for examples of the bug.  Because I was calling a method that used defined? on a nested constant in a rescue clause, it caused the interpreter to immediately exit.  This fixes it by not calling the method in the rescue clause.
@myronmarston myronmarston Setup debugger in cuke environment. 088f25c
@myronmarston myronmarston Fix for patron cukes on 1.8.7. 33a84ed
@myronmarston myronmarston Fix cukes on 1.8.7.
On 1.8.7 `!!null` (from psych) was deserializing to `#<YAML::PrivateType:0x1026764e0 @type_id="null", @value="">` on syck.
@myronmarston myronmarston Psych serializes nil differently on 1.9.2 and 1.9.3.
This should fix the failing 1.9.3 build.
@myronmarston myronmarston Deal with the fact that JRuby serializes YAML with extra whitespace. 715c5ac
@myronmarston myronmarston Fix conditional before hook to actually be conditional. 9f9ea64
@myronmarston myronmarston Update format.feature to make it demonstrate deserialization. 160ee01
@myronmarston myronmarston Fix multi json link. 75ad34d
@myronmarston myronmarston Bump up timeout a bit.
On travis, the rbx builds are occasionally exceeding the 10 second timeout.
Commits on Oct 31, 2011
@myronmarston myronmarston Add recorded_with metadata to cassette format.
This will make future updates to the cassette easier as it will tell us
what version of VCR was used to record a cassette, allowing easy
@myronmarston myronmarston Fix build on jRuby due to YAML differences. e232da1
@myronmarston myronmarston Simplify implementation of HTTPInteraction#ignore!
Now that we don't serialize the struct to YAML directly we don't need to worry about adding another instance variable to it.
Commits on Nov 01, 2011
@sfsekaran sfsekaran Fixing the nil query string exception when using uri_without_param(s)
* VCR::RequestMatcherRegistry::URIWithoutParamsMatcher#partial_uri_from
* incorrectly expects uri.query never to be nil. However, it is nil when
* there are no query params.
@myronmarston myronmarston Merge pull request #100 from sfsekaran/uri_without_params_nil_query_fix
Fixing the nil query string exception when using uri_without_param(s)
@myronmarston myronmarston Fix typo. 5e4e261
@myronmarston myronmarston Acknowledge sfesekaran for that last fix. a70c39f
@myronmarston myronmarston "break" makes more sense then "next" here.
They do the same thing but "next" implies there is another iteration of a loop and there isn't.
@myronmarston myronmarston Use sfekaran's full name based on the commit. 0520b4e
Commits on Nov 02, 2011
@myronmarston myronmarston It's request, not request signature. 727510f
@myronmarston myronmarston Add task to re-migrate spec fixtures. 04e2595
@myronmarston myronmarston Rename method for greater clarity. a578656
@myronmarston myronmarston Extract logic into accessor method for previously_recorded_interactions. de87c64
@myronmarston myronmarston Extract http_interactions logic into accessor method. 1847070
@myronmarston myronmarston Update cucumber migration task. f46cfa5
@myronmarston myronmarston Add recorded_at to cassette format and use it for the re_record_inter…
…val option.

This is better than using the file modification time because we can't count on that accurately reflecting when the cassette was recorded, especially when people change git branches or whatever.
@myronmarston myronmarston Remove unnecessary URI normalization in the :uri matcher.
This was just needed to get the test to pass that created a cassette with a particular URI and then tested a request against it.  Different HTTP libraries normalize URIs differently so we had to mirror that normalization as well.

However, if we test the recording and the playback, we don't need to do manual normalization, because we will record the URI in the same form it will be played back since the HTTP library will treat it the same way both times.
@myronmarston myronmarston Simplify #without_standard_port a bit. 8b05b6f
@myronmarston myronmarston Fix describe string.
The method used to be #for but is now #[].
@myronmarston myronmarston Add an additional HTTPS example. 11f9c61
@myronmarston myronmarston Provide a friendly error message when a VCR 1.x cassette is used. 4cc58a8
@myronmarston myronmarston We're not using set in this file anymore. d0ca3d5
Commits on Nov 03, 2011
@myronmarston myronmarston Update changelog. 814eba2
Commits on Nov 06, 2011
@myronmarston myronmarston Add similar libraries to readme. 970140c
@myronmarston myronmarston Lock curb to 0.7.15 for now since 0.7.16 causes webmock to call the a…
…fter_request hook twice for each request.
Commits on Nov 07, 2011
@myronmarston myronmarston Add an upgrade guide. 59e1d92
@myronmarston myronmarston Mention the upgrade guide in the error message. b643877
@myronmarston myronmarston Ignore the symlinked file. 1013c4c
@myronmarston myronmarston 2.0.0.beta2 release. a47947b
@myronmarston myronmarston Deterministically boot the sinatra app in spec helper.
Before, it would be booted the first time the server was referenced to get the port.  This could lead to failures if the specs were run in a different order or a subset of them were run, though, because the current VCR settings could affect the booting of the server.
@myronmarston myronmarston Fix typhoeus/webmock specs to not be order dependent.
We have some specs that use `load` to re-load the hook file, and these were adding additional callbacks so that requests were getting recorded multiple times.  The fix is to stub the callback registration methods for the specs that re-load the hook files.
@myronmarston myronmarston Setup randomized rspec runs using 2.8.0.rc1. 463b440
Commits on Nov 09, 2011
@myronmarston myronmarston Automatically insert VCR middleware into faraday.
Closes #97.
@myronmarston myronmarston Allow requests to be ignored by defining a block.
This is much more flexible than the other config options for ignoring

Closes #90.
@myronmarston myronmarston Update changelog. 8be100d
@myronmarston myronmarston Set content length header based on number of bytes, not chars.
Closes #96.
@myronmarston myronmarston NullList has no state so it does not need to be a class.
It saves a bit of memory by reusing a singleton object.
@myronmarston myronmarston Speed up HTTPInteractionList a bit.
We can fetch the matcher objects once at instantiation time so that we don't have to re-fetch them every time we are matching a request.
@myronmarston myronmarston Update gemspec to reflect that VCR no longer supports 1.8.6. 4441654
Commits on Nov 11, 2011
@myronmarston myronmarston Escape underscores. a7c480a
@myronmarston myronmarston Fix relish links. 0771f11
Commits on Nov 13, 2011
@myronmarston myronmarston Fix to be in line with VCR 2.0 conventions. 8d437cf
Commits on Nov 14, 2011
@myronmarston myronmarston Change the unhandled request error class and message.
I'm going to be expanding this a lot for issue #92 but I wanted to get the basics in place and get the tests in a stable state so that they should continue to pass as I expand the error message.
@myronmarston myronmarston Improve unhandled request error messages.
Closes #92.
@myronmarston myronmarston Try different rbx build targets. e0a01a7
@myronmarston myronmarston Fix the error message formatting so it doesn't double-format a message. 34e4ee6
Commits on Nov 15, 2011
@myronmarston myronmarston Remove use of Dir.mktmpdir to get build to pass on JRuby.
The travis JRuby builds are intermittently failing with "permission denied" errors from `Dir.mktmpdir`.
@myronmarston myronmarston Update getting started to include new error messages. 330b4d6
@myronmarston myronmarston Remove rbx for now since bundle install is failing on it. 7ebb478
@myronmarston myronmarston Use debugger on jruby. 0358c88
Commits on Nov 16, 2011
@myronmarston myronmarston Change cucumber profile to allow use of @wip simply to filter features. 977a9f1
Commits on Nov 17, 2011
@myronmarston myronmarston Exclude some cuke scenarios to run on jruby to work around weird bug.
For some reason, these are failing because they are asserting the expected error message but aruba is reporting the output as "V" (yes, just one character!).  I have no idea why...
Commits on Nov 18, 2011
@myronmarston myronmarston Update WebMock adapter to take advantage of new globally_stub_request…
… hook.
Commits on Nov 19, 2011
@myronmarston myronmarston Remove confusing use of aliasing. 45145a1
Commits on Nov 20, 2011
@myronmarston myronmarston Fix specs for Typhoeus 0.3.3 a7d676d
@myronmarston myronmarston Update to WebMock 1.7.8. 89ffa4b
@myronmarston myronmarston Fix FakeWeb/Net::HTTP regression. 134bb9a
@myronmarston myronmarston Fix cassette name so it matches a sanitized cassette name.
This allows us to actually use it as a cassette in a test.
@myronmarston myronmarston Fix comment typo. 426b0a1
@myronmarston myronmarston Add before_http_request hook.
For issue #91.
@myronmarston myronmarston Add after_http_request hook.
For issue #91.

Note that when using Typhoeus or WebMock, it's not guaranteed that the after_request hook will fire for every request; if an error (such as a socket error) occurs before the request completes then the Typhoeus/WebMock after_request hook will not fire, which means VCR will not be able to fire its after_http_request hook in turn.  There's not much I can do about this, unfortunately.

For Excon, Faraday and FakeWeb, I use an ensure block to guarantee that the hook will be invoked.  This is possible because VCR wraps the entire request for these library hooks.
@myronmarston myronmarston Remove unused local variables to fix 1.9.3 warnings. 6ea465d
Commits on Nov 21, 2011
@myronmarston myronmarston Ensure all request hooks are only called once per request.
Previously, the before_http_request hooks were being called twice for one request in some cases when using FakeWeb and Net::HTTP.  Also, in the VCR test environment there could be many hook invocations from WebMock/Typhoeus due to double-registration of hooks and such.
@ryanb ryanb adding contributing link to readme 4633776
@myronmarston myronmarston Merge pull request #104 from ryanb/readme-contributing-link
Add contributing link to README
@myronmarston myronmarston Add hook API that doesn't require passing a tag.
Most of our hook invocations don't use tags now.
@myronmarston myronmarston Add ryanb to contributors list. b8c138a
Commits on Nov 22, 2011
@FlaviuSim FlaviuSim added the contributing wiki to the project for symlinking with relish 7b9bf81
@myronmarston myronmarston Fix links in to use markdown format rather than githu…
…b wiki format.
@myronmarston myronmarston Ignore the symlinked file. 7b05e11
@myronmarston myronmarston Add contributing guide to relish .nav. 9ad57be
@myronmarston myronmarston Fix contributing link from readme now that it's under source control. 4a53a6d
@myronmarston myronmarston Add Flaviu to list of contributors. 8c6cd60
Commits on Nov 23, 2011
@myronmarston myronmarston Add around_http_request hook.
For issue #91.
@myronmarston myronmarston Fix readme synopsis to use VCR 2.0 APIs. 430ccd1
Commits on Nov 25, 2011
@myronmarston myronmarston Extract separate cuke files for each hook type. 5d4078e
@myronmarston myronmarston Add rake task to re-run the last cuke. 8cefe96
@myronmarston myronmarston Fix around_http_request to support multiple requests.
Fibers can only be used once so we have to create a new one for each request.
Commits on Nov 26, 2011
@pacoguzman pacoguzman FIX synopsis using configure instead configuration d6576e3
@myronmarston myronmarston Give Paco credit for his contribution. 4b274c3
Commits on Nov 28, 2011
@myronmarston myronmarston Add cukes documenting new http request hooks.
Closes #91.
@myronmarston myronmarston Use latest excon.
Closes #106.
@myronmarston myronmarston Add link to source of query method. 0912189
@myronmarston myronmarston Normalize request method to a lower case symbol.
Fog uses excon by passing `:method => "POST"`.

Closes #105.
@myronmarston myronmarston Normalize URI without standard port.
This is how people tend to write URIs anyway.
@myronmarston myronmarston Revert "Use latest excon."
This reverts commit 6e13de0.

It worked for me locally but it broke the Travis build :(.
@myronmarston myronmarston Fix "interning empty string" error on ruby 1.8. 23aedda
Commits on Nov 29, 2011
@myronmarston myronmarston Add define_cassette_placeholder as an alias for filter_sensitive_data.
Closes #102.
@myronmarston myronmarston Fix version checker logic.
If the min_patch is 0.6.5 and the max_minor is 0.7 and the library version is 0.7.3, the old code would wrongly categorize it as :too_low.
Commits on Nov 30, 2011
@myronmarston myronmarston Remove unneeded method.
It was needed for the WebMock hook before I refactored it to take advantage of the global stub hook in WebMock 1.7.8.
@myronmarston myronmarston Extract spec helper methods into a module. 0352721
@myronmarston myronmarston Ensure faraday is exclusively used for parallel requests.
Closes #103.