vcr 1.4.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. data/CHANGELOG.md +23 -0
  2. data/Gemfile +0 -2
  3. data/Gemfile.lock +15 -14
  4. data/Guardfile +2 -3
  5. data/LICENSE +1 -1
  6. data/README.md +5 -1
  7. data/features/.nav +28 -0
  8. data/features/README.md +1 -1
  9. data/features/cassettes/automatic_re_recording.feature +2 -2
  10. data/features/cassettes/format.feature +2 -2
  11. data/features/cassettes/no_cassette.feature +3 -3
  12. data/features/cassettes/request_matching.feature +8 -8
  13. data/features/configuration/allow_http_connections_when_no_cassette.feature +1 -1
  14. data/features/configuration/cassette_library_dir.feature +1 -1
  15. data/features/configuration/default_cassette_options.feature +2 -2
  16. data/features/configuration/hooks.feature +276 -0
  17. data/features/configuration/ignore_localhost.feature +1 -1
  18. data/features/configuration/stub_with.feature +19 -20
  19. data/features/middleware/rack.feature +6 -6
  20. data/features/{cassettes/record_modes → record_modes}/all.feature +2 -2
  21. data/features/{cassettes/record_modes → record_modes}/new_episodes.feature +3 -3
  22. data/features/{cassettes/record_modes → record_modes}/none.feature +4 -4
  23. data/features/support/vcr_cucumber_helpers.rb +1 -1
  24. data/features/test_frameworks/cucumber.feature +11 -11
  25. data/features/test_frameworks/rspec.feature +12 -12
  26. data/features/test_frameworks/shoulda.feature +1 -1
  27. data/lib/vcr.rb +8 -4
  28. data/lib/vcr/cassette.rb +28 -39
  29. data/lib/vcr/cassette/reader.rb +58 -0
  30. data/lib/vcr/config.rb +45 -40
  31. data/lib/vcr/deprecations.rb +1 -1
  32. data/lib/vcr/extensions/net_http.rb +6 -1
  33. data/lib/vcr/hooks.rb +45 -0
  34. data/lib/vcr/http_stubbing_adapters/common.rb +16 -13
  35. data/lib/vcr/http_stubbing_adapters/fakeweb.rb +4 -4
  36. data/lib/vcr/http_stubbing_adapters/faraday.rb +4 -4
  37. data/lib/vcr/http_stubbing_adapters/typhoeus.rb +4 -4
  38. data/lib/vcr/http_stubbing_adapters/webmock.rb +4 -4
  39. data/lib/vcr/structs.rb +8 -0
  40. data/lib/vcr/{basic_object.rb → util/basic_object.rb} +0 -0
  41. data/lib/vcr/{internet_connection.rb → util/internet_connection.rb} +1 -1
  42. data/lib/vcr/{ping.rb → util/ping.rb} +0 -0
  43. data/lib/vcr/version.rb +1 -1
  44. data/script/FullBuildRakeFile +6 -0
  45. data/script/full_build +1 -1
  46. data/script/spec +1 -0
  47. data/spec/fixtures/1.9.1/cassette_spec/empty.yml +0 -0
  48. data/spec/fixtures/not_1.9.1/cassette_spec/empty.yml +0 -0
  49. data/spec/spec_helper.rb +7 -4
  50. data/spec/support/http_library_adapters.rb +8 -0
  51. data/spec/support/http_stubbing_adapter.rb +2 -2
  52. data/spec/vcr/cassette/reader_spec.rb +59 -0
  53. data/spec/{cassette_spec.rb → vcr/cassette_spec.rb} +115 -54
  54. data/spec/{config_spec.rb → vcr/config_spec.rb} +0 -0
  55. data/spec/{cucumber_tags_spec.rb → vcr/cucumber_tags_spec.rb} +0 -0
  56. data/spec/{deprecations_spec.rb → vcr/deprecations_spec.rb} +0 -0
  57. data/spec/{extensions → vcr/extensions}/net_http_response_spec.rb +0 -0
  58. data/spec/{extensions → vcr/extensions}/net_http_spec.rb +0 -0
  59. data/spec/vcr/hooks_spec.rb +95 -0
  60. data/spec/{http_stubbing_adapters → vcr/http_stubbing_adapters}/fakeweb_spec.rb +0 -0
  61. data/spec/{http_stubbing_adapters → vcr/http_stubbing_adapters}/faraday_spec.rb +5 -3
  62. data/spec/{http_stubbing_adapters → vcr/http_stubbing_adapters}/multi_object_proxy_spec.rb +0 -0
  63. data/spec/{http_stubbing_adapters → vcr/http_stubbing_adapters}/typhoeus_spec.rb +0 -0
  64. data/spec/{http_stubbing_adapters → vcr/http_stubbing_adapters}/webmock_spec.rb +0 -0
  65. data/spec/{middleware → vcr/middleware}/cassette_arguments_spec.rb +0 -0
  66. data/spec/{middleware → vcr/middleware}/faraday_spec.rb +0 -0
  67. data/spec/{middleware → vcr/middleware}/rack_spec.rb +0 -0
  68. data/spec/{request_matcher_spec.rb → vcr/request_matcher_spec.rb} +0 -0
  69. data/spec/{rspec_spec.rb → vcr/rspec_spec.rb} +0 -0
  70. data/spec/{structs_spec.rb → vcr/structs_spec.rb} +15 -4
  71. data/spec/{internet_connection_spec.rb → vcr/util/internet_connection_spec.rb} +0 -0
  72. data/spec/{version_spec.rb → vcr/version_spec.rb} +0 -0
  73. data/spec/vcr_spec.rb +10 -3
  74. data/vcr.gemspec +3 -3
  75. metadata +123 -101
  76. data/spec/fixtures/1.9.1/cassette_spec/erb_with_no_vars.yml +0 -32
  77. data/spec/fixtures/1.9.1/cassette_spec/erb_with_vars.yml +0 -32
  78. data/spec/fixtures/not_1.9.1/cassette_spec/erb_with_no_vars.yml +0 -32
  79. data/spec/fixtures/not_1.9.1/cassette_spec/erb_with_vars.yml +0 -32
File without changes
@@ -0,0 +1,95 @@
1
+ require 'spec_helper'
2
+
3
+ describe VCR::Hooks do
4
+ class HooksClass
5
+ include VCR::Hooks
6
+ end
7
+
8
+ subject { HooksClass.new }
9
+ let(:invocations) { [] }
10
+
11
+ before(:each) do
12
+ subject.instance_eval do
13
+ define_hook :before_foo
14
+ define_hook :before_bar
15
+ end
16
+ end
17
+
18
+ describe '#clear_hooks' do
19
+ it 'clears all hooks' do
20
+ subject.before_foo { invocations << :callback }
21
+ subject.clear_hooks
22
+ subject.invoke_hook(:before_foo, nil)
23
+ invocations.should be_empty
24
+ end
25
+ end
26
+
27
+ describe '#invoke_hook(:before_foo)' do
28
+ context 'with a tag argument' do
29
+ it 'invokes each of the :before_foo callbacks with a matching tag' do
30
+ subject.before_foo(:green) { invocations << :callback_1 }
31
+ subject.before_foo(:green) { invocations << :callback_2 }
32
+
33
+ invocations.should be_empty
34
+ subject.invoke_hook(:before_foo, :green)
35
+ invocations.should == [:callback_1, :callback_2]
36
+ end
37
+
38
+ it 'invokes each of the :before_foo callbacks with no tag' do
39
+ subject.before_foo { invocations << :no_tag_1 }
40
+ subject.before_foo { invocations << :no_tag_2 }
41
+
42
+ subject.invoke_hook(:before_foo, :green)
43
+ invocations.should == [:no_tag_1, :no_tag_2]
44
+ end
45
+
46
+ it 'does not invoke any callbacks with a different tag' do
47
+ subject.before_foo(:blue) { invocations << :blue_callback }
48
+ subject.invoke_hook(:before_foo, :green)
49
+ invocations.should be_empty
50
+ end
51
+ end
52
+
53
+ context 'without a tag argument' do
54
+ it 'invokes each of the :before_foo callbacks' do
55
+ subject.before_foo { invocations << :callback_1 }
56
+ subject.before_foo { invocations << :callback_2 }
57
+
58
+ invocations.should be_empty
59
+ subject.invoke_hook(:before_foo, nil)
60
+ invocations.should == [:callback_1, :callback_2]
61
+ end
62
+
63
+ it 'does not invoke :before_bar callbacks' do
64
+ subject.before_bar { invocations << :bar_callback }
65
+ subject.invoke_hook(:before_foo, nil)
66
+ invocations.should be_empty
67
+ end
68
+
69
+ it 'does not invoke any tagged callbacks' do
70
+ subject.before_foo(:blue) { invocations << :blue_callback }
71
+ subject.invoke_hook(:before_foo, nil)
72
+ invocations.should be_empty
73
+ end
74
+
75
+ it 'passes along the provided arguments to the callback' do
76
+ subject.before_foo { |a, b| invocations << [a, b] }
77
+ subject.invoke_hook(:before_foo, nil, :arg1, :arg2)
78
+ invocations.flatten.should == [:arg1, :arg2]
79
+ end
80
+
81
+ it 'only passes along 1 argument when the block accepts only 1 arguments' do
82
+ subject.before_foo { |a| invocations << a }
83
+ subject.invoke_hook(:before_foo, nil, :arg1, :arg2)
84
+ invocations.flatten.should == [:arg1]
85
+ end
86
+
87
+ it 'passes along all arguments when the block accepts a variable number of args' do
88
+ subject.before_foo { |*a| invocations << a }
89
+ subject.invoke_hook(:before_foo, nil, :arg1, :arg2)
90
+ invocations.flatten.should == [:arg1, :arg2]
91
+ end
92
+ end
93
+ end
94
+ end
95
+
@@ -61,8 +61,10 @@ describe VCR::HttpStubbingAdapters::Faraday do
61
61
  end
62
62
 
63
63
  describe '.restore_stubs_checkpoints' do
64
+ let(:cassette_1) { VCR::Cassette.new('1') }
65
+
64
66
  before(:each) do
65
- subject.create_stubs_checkpoint(:checkpoint_1)
67
+ subject.create_stubs_checkpoint(cassette_1)
66
68
  end
67
69
 
68
70
  it 'restores the queues to the checkpoint state when a queue has additional responses' do
@@ -70,13 +72,13 @@ describe VCR::HttpStubbingAdapters::Faraday do
70
72
  VCR::HTTPInteraction.new(request_1, :response_3),
71
73
  ], match_attributes)
72
74
 
73
- subject.restore_stubs_checkpoint(:checkpoint_1)
75
+ subject.restore_stubs_checkpoint(cassette_1)
74
76
  test_stubbed_responses
75
77
  end
76
78
 
77
79
  it 'restores the queues to the checkpoint state when a queue has been used' do
78
80
  stubbed_response_for(request_1)
79
- subject.restore_stubs_checkpoint(:checkpoint_1)
81
+ subject.restore_stubs_checkpoint(cassette_1)
80
82
  test_stubbed_responses
81
83
  end
82
84
  end
File without changes
File without changes
File without changes
@@ -73,8 +73,8 @@ describe VCR::Request do
73
73
  end
74
74
 
75
75
  describe '.from_net_http_request' do
76
- let(:net_http) { YAML.load(File.read(File.dirname(__FILE__) + "/fixtures/#{YAML_SERIALIZATION_VERSION}/example_net_http.yml")) }
77
- let(:request) { YAML.load(File.read(File.dirname(__FILE__) + "/fixtures/#{YAML_SERIALIZATION_VERSION}/example_net_http_request.yml")) }
76
+ let(:net_http) { YAML.load(File.read("#{VCR::SPEC_ROOT}/fixtures/#{YAML_SERIALIZATION_VERSION}/example_net_http.yml")) }
77
+ let(:request) { YAML.load(File.read("#{VCR::SPEC_ROOT}/fixtures/#{YAML_SERIALIZATION_VERSION}/example_net_http_request.yml")) }
78
78
  subject { described_class.from_net_http_request(net_http, request) }
79
79
 
80
80
  before(:each) do
@@ -108,7 +108,7 @@ end
108
108
 
109
109
  describe VCR::ResponseStatus do
110
110
  describe '.from_net_http_response' do
111
- let(:response) { YAML.load(File.read(File.dirname(__FILE__) + "/fixtures/#{YAML_SERIALIZATION_VERSION}/example_net_http_response.yml")) }
111
+ let(:response) { YAML.load(File.read("#{VCR::SPEC_ROOT}/fixtures/#{YAML_SERIALIZATION_VERSION}/example_net_http_response.yml")) }
112
112
  subject { described_class.from_net_http_response(response) }
113
113
 
114
114
  it { should be_instance_of(described_class) }
@@ -128,7 +128,7 @@ end
128
128
 
129
129
  describe VCR::Response do
130
130
  describe '.from_net_http_response' do
131
- let(:response) { YAML.load(File.read(File.dirname(__FILE__) + "/fixtures/#{YAML_SERIALIZATION_VERSION}/example_net_http_response.yml")) }
131
+ let(:response) { YAML.load(File.read("#{VCR::SPEC_ROOT}/fixtures/#{YAML_SERIALIZATION_VERSION}/example_net_http_response.yml")) }
132
132
  subject { described_class.from_net_http_response(response) }
133
133
 
134
134
  it { should be_instance_of(described_class) }
@@ -173,4 +173,15 @@ describe VCR::HTTPInteraction do
173
173
  instance.send(attr).should == :the_value
174
174
  end
175
175
  end
176
+
177
+ describe '#ignored?' do
178
+ it 'returns false by default' do
179
+ should_not be_ignored
180
+ end
181
+
182
+ it 'returns true when #ignore! has been called' do
183
+ subject.ignore!
184
+ should be_ignored
185
+ end
186
+ end
176
187
  end
File without changes
data/spec/vcr_spec.rb CHANGED
@@ -1,8 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe VCR do
4
- def insert_cassette
5
- VCR.insert_cassette(:cassette_test)
4
+ def insert_cassette(name = :cassette_test)
5
+ VCR.insert_cassette(name)
6
6
  end
7
7
 
8
8
  describe '.insert_cassette' do
@@ -16,6 +16,13 @@ describe VCR do
16
16
  new_cassette.should_not == orig_cassette
17
17
  VCR.current_cassette.should == new_cassette
18
18
  end
19
+
20
+ it 'raises an error if the stack of inserted cassettes already contains a cassette with the same name' do
21
+ insert_cassette(:foo)
22
+ expect {
23
+ insert_cassette(:foo)
24
+ }.to raise_error(/There is already a cassette with the same name/)
25
+ end
19
26
  end
20
27
 
21
28
  describe '.eject_cassette' do
@@ -31,7 +38,7 @@ describe VCR do
31
38
  end
32
39
 
33
40
  it 'returns the #current_cassette to the previous one' do
34
- cassette1, cassette2 = insert_cassette, insert_cassette
41
+ cassette1, cassette2 = insert_cassette(:foo1), insert_cassette(:foo2)
35
42
  expect { VCR.eject_cassette }.to change(VCR, :current_cassette).from(cassette2).to(cassette1)
36
43
  end
37
44
  end
data/vcr.gemspec CHANGED
@@ -10,8 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.email = "myron.marston@gmail.com"
11
11
  s.require_path = "lib"
12
12
  s.files = `git ls-files`.split("\n")
13
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
14
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
13
+ s.test_files = `git ls-files -- {spec,features}/*`.split("\n")
15
14
 
16
15
  s.version = VCR.version
17
16
  s.platform = Gem::Platform::RUBY
@@ -22,9 +21,10 @@ Gem::Specification.new do |s|
22
21
  'bundler' => '~> 1.0.7',
23
22
  'rake' => '~> 0.8.7',
24
23
 
25
- 'rspec' => '~> 2.1.0',
24
+ 'rspec' => '~> 2.4.0',
26
25
  'cucumber' => '~> 0.9.4',
27
26
  'aruba' => '~> 0.2.1',
27
+ 'shoulda' => '~> 2.9.2',
28
28
 
29
29
  'fakeweb' => '~> 1.3.0',
30
30
  'webmock' => '~> 1.6.0',
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vcr
3
3
  version: !ruby/object:Gem::Version
4
- hash: 7
5
- prerelease: false
4
+ hash: 3
5
+ prerelease:
6
6
  segments:
7
7
  - 1
8
- - 4
8
+ - 5
9
9
  - 0
10
- version: 1.4.0
10
+ version: 1.5.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Myron Marston
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-12-03 00:00:00 -08:00
18
+ date: 2011-01-12 00:00:00 -08:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -30,10 +30,10 @@ dependencies:
30
30
  - 5
31
31
  - 3
32
32
  version: 0.5.3
33
- type: :development
34
33
  name: faraday
35
34
  prerelease: false
36
35
  version_requirements: *id001
36
+ type: :development
37
37
  - !ruby/object:Gem::Dependency
38
38
  requirement: &id002 !ruby/object:Gem::Requirement
39
39
  none: false
@@ -46,10 +46,10 @@ dependencies:
46
46
  - 3
47
47
  - 0
48
48
  version: 1.3.0
49
- type: :development
50
49
  name: fakeweb
51
50
  prerelease: false
52
51
  version_requirements: *id002
52
+ type: :development
53
53
  - !ruby/object:Gem::Dependency
54
54
  requirement: &id003 !ruby/object:Gem::Requirement
55
55
  none: false
@@ -63,10 +63,10 @@ dependencies:
63
63
  - 5
64
64
  - 2
65
65
  version: 2.1.5.2
66
- type: :development
67
66
  name: httpclient
68
67
  prerelease: false
69
68
  version_requirements: *id003
69
+ type: :development
70
70
  - !ruby/object:Gem::Dependency
71
71
  requirement: &id004 !ruby/object:Gem::Requirement
72
72
  none: false
@@ -79,10 +79,10 @@ dependencies:
79
79
  - 8
80
80
  - 7
81
81
  version: 0.8.7
82
- type: :development
83
82
  name: rake
84
83
  prerelease: false
85
84
  version_requirements: *id004
85
+ type: :development
86
86
  - !ruby/object:Gem::Dependency
87
87
  requirement: &id005 !ruby/object:Gem::Requirement
88
88
  none: false
@@ -95,28 +95,44 @@ dependencies:
95
95
  - 3
96
96
  - 5
97
97
  version: 0.3.5
98
- type: :development
99
98
  name: timecop
100
99
  prerelease: false
101
100
  version_requirements: *id005
101
+ type: :development
102
102
  - !ruby/object:Gem::Dependency
103
103
  requirement: &id006 !ruby/object:Gem::Requirement
104
104
  none: false
105
105
  requirements:
106
106
  - - ~>
107
107
  - !ruby/object:Gem::Version
108
- hash: 11
108
+ hash: 47
109
109
  segments:
110
110
  - 2
111
- - 1
112
- - 0
113
- version: 2.1.0
114
- type: :development
115
- name: rspec
111
+ - 9
112
+ - 2
113
+ version: 2.9.2
114
+ name: shoulda
116
115
  prerelease: false
117
116
  version_requirements: *id006
117
+ type: :development
118
118
  - !ruby/object:Gem::Dependency
119
119
  requirement: &id007 !ruby/object:Gem::Requirement
120
+ none: false
121
+ requirements:
122
+ - - ~>
123
+ - !ruby/object:Gem::Version
124
+ hash: 31
125
+ segments:
126
+ - 2
127
+ - 4
128
+ - 0
129
+ version: 2.4.0
130
+ name: rspec
131
+ prerelease: false
132
+ version_requirements: *id007
133
+ type: :development
134
+ - !ruby/object:Gem::Dependency
135
+ requirement: &id008 !ruby/object:Gem::Requirement
120
136
  none: false
121
137
  requirements:
122
138
  - - "="
@@ -127,12 +143,12 @@ dependencies:
127
143
  - 1
128
144
  - 0
129
145
  version: 1.1.0
130
- type: :development
131
146
  name: rack
132
147
  prerelease: false
133
- version_requirements: *id007
148
+ version_requirements: *id008
149
+ type: :development
134
150
  - !ruby/object:Gem::Dependency
135
- requirement: &id008 !ruby/object:Gem::Requirement
151
+ requirement: &id009 !ruby/object:Gem::Requirement
136
152
  none: false
137
153
  requirements:
138
154
  - - ~>
@@ -143,12 +159,12 @@ dependencies:
143
159
  - 2
144
160
  - 1
145
161
  version: 0.2.1
146
- type: :development
147
162
  name: aruba
148
163
  prerelease: false
149
- version_requirements: *id008
164
+ version_requirements: *id009
165
+ type: :development
150
166
  - !ruby/object:Gem::Dependency
151
- requirement: &id009 !ruby/object:Gem::Requirement
167
+ requirement: &id010 !ruby/object:Gem::Requirement
152
168
  none: false
153
169
  requirements:
154
170
  - - ~>
@@ -159,12 +175,12 @@ dependencies:
159
175
  - 1
160
176
  - 0
161
177
  version: 1.1.0
162
- type: :development
163
178
  name: sinatra
164
179
  prerelease: false
165
- version_requirements: *id009
180
+ version_requirements: *id010
181
+ type: :development
166
182
  - !ruby/object:Gem::Dependency
167
- requirement: &id010 !ruby/object:Gem::Requirement
183
+ requirement: &id011 !ruby/object:Gem::Requirement
168
184
  none: false
169
185
  requirements:
170
186
  - - ~>
@@ -175,12 +191,12 @@ dependencies:
175
191
  - 0
176
192
  - 7
177
193
  version: 1.0.7
178
- type: :development
179
194
  name: bundler
180
195
  prerelease: false
181
- version_requirements: *id010
196
+ version_requirements: *id011
197
+ type: :development
182
198
  - !ruby/object:Gem::Dependency
183
- requirement: &id011 !ruby/object:Gem::Requirement
199
+ requirement: &id012 !ruby/object:Gem::Requirement
184
200
  none: false
185
201
  requirements:
186
202
  - - ~>
@@ -191,12 +207,12 @@ dependencies:
191
207
  - 9
192
208
  - 4
193
209
  version: 0.9.4
194
- type: :development
195
210
  name: cucumber
196
211
  prerelease: false
197
- version_requirements: *id011
212
+ version_requirements: *id012
213
+ type: :development
198
214
  - !ruby/object:Gem::Dependency
199
- requirement: &id012 !ruby/object:Gem::Requirement
215
+ requirement: &id013 !ruby/object:Gem::Requirement
200
216
  none: false
201
217
  requirements:
202
218
  - - ~>
@@ -207,12 +223,12 @@ dependencies:
207
223
  - 6
208
224
  - 0
209
225
  version: 1.6.0
210
- type: :development
211
226
  name: webmock
212
227
  prerelease: false
213
- version_requirements: *id012
228
+ version_requirements: *id013
229
+ type: :development
214
230
  - !ruby/object:Gem::Dependency
215
- requirement: &id013 !ruby/object:Gem::Requirement
231
+ requirement: &id014 !ruby/object:Gem::Requirement
216
232
  none: false
217
233
  requirements:
218
234
  - - ~>
@@ -223,12 +239,12 @@ dependencies:
223
239
  - 7
224
240
  - 8
225
241
  version: 0.7.8
226
- type: :development
227
242
  name: curb
228
243
  prerelease: false
229
- version_requirements: *id013
244
+ version_requirements: *id014
245
+ type: :development
230
246
  - !ruby/object:Gem::Dependency
231
- requirement: &id014 !ruby/object:Gem::Requirement
247
+ requirement: &id015 !ruby/object:Gem::Requirement
232
248
  none: false
233
249
  requirements:
234
250
  - - ~>
@@ -239,12 +255,12 @@ dependencies:
239
255
  - 4
240
256
  - 6
241
257
  version: 0.4.6
242
- type: :development
243
258
  name: patron
244
259
  prerelease: false
245
- version_requirements: *id014
260
+ version_requirements: *id015
261
+ type: :development
246
262
  - !ruby/object:Gem::Dependency
247
- requirement: &id015 !ruby/object:Gem::Requirement
263
+ requirement: &id016 !ruby/object:Gem::Requirement
248
264
  none: false
249
265
  requirements:
250
266
  - - ~>
@@ -255,12 +271,12 @@ dependencies:
255
271
  - 2
256
272
  - 7
257
273
  version: 0.2.7
258
- type: :development
259
274
  name: em-http-request
260
275
  prerelease: false
261
- version_requirements: *id015
276
+ version_requirements: *id016
277
+ type: :development
262
278
  - !ruby/object:Gem::Dependency
263
- requirement: &id016 !ruby/object:Gem::Requirement
279
+ requirement: &id017 !ruby/object:Gem::Requirement
264
280
  none: false
265
281
  requirements:
266
282
  - - ~>
@@ -271,10 +287,10 @@ dependencies:
271
287
  - 2
272
288
  - 0
273
289
  version: 0.2.0
274
- type: :development
275
290
  name: typhoeus
276
291
  prerelease: false
277
- version_requirements: *id016
292
+ version_requirements: *id017
293
+ type: :development
278
294
  description: VCR provides helpers to record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests. It works with any ruby testing framework, and provides built-in support for cucumber.
279
295
  email: myron.marston@gmail.com
280
296
  executables: []
@@ -298,24 +314,26 @@ files:
298
314
  - TODO.md
299
315
  - benchmarks/http_stubbing_libraries.rb
300
316
  - cucumber.yml
317
+ - features/.nav
301
318
  - features/README.md
302
319
  - features/cassettes/automatic_re_recording.feature
303
320
  - features/cassettes/dynamic_erb.feature
304
321
  - features/cassettes/format.feature
305
322
  - features/cassettes/no_cassette.feature
306
- - features/cassettes/record_modes/all.feature
307
- - features/cassettes/record_modes/new_episodes.feature
308
- - features/cassettes/record_modes/none.feature
309
323
  - features/cassettes/request_matching.feature
310
324
  - features/configuration/allow_http_connections_when_no_cassette.feature
311
325
  - features/configuration/cassette_library_dir.feature
312
326
  - features/configuration/default_cassette_options.feature
327
+ - features/configuration/hooks.feature
313
328
  - features/configuration/ignore_localhost.feature
314
329
  - features/configuration/stub_with.feature
315
330
  - features/http_libraries/em_http_request.feature
316
331
  - features/http_libraries/net_http.feature
317
332
  - features/middleware/faraday.feature
318
333
  - features/middleware/rack.feature
334
+ - features/record_modes/all.feature
335
+ - features/record_modes/new_episodes.feature
336
+ - features/record_modes/none.feature
319
337
  - features/step_definitions/cli_steps.rb
320
338
  - features/support/aruba_workaround/aruba_patches.rb
321
339
  - features/support/aruba_workaround/background_process.rb
@@ -327,40 +345,36 @@ files:
327
345
  - features/test_frameworks/shoulda.feature
328
346
  - features/test_frameworks/test_unit.feature
329
347
  - lib/vcr.rb
330
- - lib/vcr/basic_object.rb
331
348
  - lib/vcr/cassette.rb
349
+ - lib/vcr/cassette/reader.rb
332
350
  - lib/vcr/config.rb
333
351
  - lib/vcr/cucumber_tags.rb
334
352
  - lib/vcr/deprecations.rb
335
353
  - lib/vcr/extensions/net_http.rb
336
354
  - lib/vcr/extensions/net_http_response.rb
355
+ - lib/vcr/hooks.rb
337
356
  - lib/vcr/http_stubbing_adapters/common.rb
338
357
  - lib/vcr/http_stubbing_adapters/fakeweb.rb
339
358
  - lib/vcr/http_stubbing_adapters/faraday.rb
340
359
  - lib/vcr/http_stubbing_adapters/multi_object_proxy.rb
341
360
  - lib/vcr/http_stubbing_adapters/typhoeus.rb
342
361
  - lib/vcr/http_stubbing_adapters/webmock.rb
343
- - lib/vcr/internet_connection.rb
344
362
  - lib/vcr/middleware/cassette_arguments.rb
345
363
  - lib/vcr/middleware/common.rb
346
364
  - lib/vcr/middleware/faraday.rb
347
365
  - lib/vcr/middleware/rack.rb
348
- - lib/vcr/ping.rb
349
366
  - lib/vcr/request_matcher.rb
350
367
  - lib/vcr/rspec.rb
351
368
  - lib/vcr/structs.rb
369
+ - lib/vcr/util/basic_object.rb
370
+ - lib/vcr/util/internet_connection.rb
371
+ - lib/vcr/util/ping.rb
352
372
  - lib/vcr/version.rb
353
373
  - script/FullBuildRakeFile
354
374
  - script/full_build
355
- - spec/cassette_spec.rb
356
- - spec/config_spec.rb
357
- - spec/cucumber_tags_spec.rb
358
- - spec/deprecations_spec.rb
359
- - spec/extensions/net_http_response_spec.rb
360
- - spec/extensions/net_http_spec.rb
375
+ - script/spec
361
376
  - spec/fixtures/1.9.1/0_3_1_cassette.yml
362
- - spec/fixtures/1.9.1/cassette_spec/erb_with_no_vars.yml
363
- - spec/fixtures/1.9.1/cassette_spec/erb_with_vars.yml
377
+ - spec/fixtures/1.9.1/cassette_spec/empty.yml
364
378
  - spec/fixtures/1.9.1/cassette_spec/example.yml
365
379
  - spec/fixtures/1.9.1/cassette_spec/with_localhost_requests.yml
366
380
  - spec/fixtures/1.9.1/example_net_http.yml
@@ -369,8 +383,7 @@ files:
369
383
  - spec/fixtures/1.9.1/fake_example.com_responses.yml
370
384
  - spec/fixtures/1.9.1/match_requests_on.yml
371
385
  - spec/fixtures/not_1.9.1/0_3_1_cassette.yml
372
- - spec/fixtures/not_1.9.1/cassette_spec/erb_with_no_vars.yml
373
- - spec/fixtures/not_1.9.1/cassette_spec/erb_with_vars.yml
386
+ - spec/fixtures/not_1.9.1/cassette_spec/empty.yml
374
387
  - spec/fixtures/not_1.9.1/cassette_spec/example.yml
375
388
  - spec/fixtures/not_1.9.1/cassette_spec/with_localhost_requests.yml
376
389
  - spec/fixtures/not_1.9.1/example_net_http.yml
@@ -378,20 +391,8 @@ files:
378
391
  - spec/fixtures/not_1.9.1/example_net_http_response.yml
379
392
  - spec/fixtures/not_1.9.1/fake_example.com_responses.yml
380
393
  - spec/fixtures/not_1.9.1/match_requests_on.yml
381
- - spec/http_stubbing_adapters/fakeweb_spec.rb
382
- - spec/http_stubbing_adapters/faraday_spec.rb
383
- - spec/http_stubbing_adapters/multi_object_proxy_spec.rb
384
- - spec/http_stubbing_adapters/typhoeus_spec.rb
385
- - spec/http_stubbing_adapters/webmock_spec.rb
386
- - spec/internet_connection_spec.rb
387
- - spec/middleware/cassette_arguments_spec.rb
388
- - spec/middleware/faraday_spec.rb
389
- - spec/middleware/rack_spec.rb
390
394
  - spec/monkey_patches.rb
391
- - spec/request_matcher_spec.rb
392
- - spec/rspec_spec.rb
393
395
  - spec/spec_helper.rb
394
- - spec/structs_spec.rb
395
396
  - spec/support/disable_warnings.rb
396
397
  - spec/support/fixnum_extension.rb
397
398
  - spec/support/http_library_adapters.rb
@@ -402,8 +403,28 @@ files:
402
403
  - spec/support/vcr_localhost_server.rb
403
404
  - spec/support/version_checker.rb
404
405
  - spec/support/webmock_macros.rb
406
+ - spec/vcr/cassette/reader_spec.rb
407
+ - spec/vcr/cassette_spec.rb
408
+ - spec/vcr/config_spec.rb
409
+ - spec/vcr/cucumber_tags_spec.rb
410
+ - spec/vcr/deprecations_spec.rb
411
+ - spec/vcr/extensions/net_http_response_spec.rb
412
+ - spec/vcr/extensions/net_http_spec.rb
413
+ - spec/vcr/hooks_spec.rb
414
+ - spec/vcr/http_stubbing_adapters/fakeweb_spec.rb
415
+ - spec/vcr/http_stubbing_adapters/faraday_spec.rb
416
+ - spec/vcr/http_stubbing_adapters/multi_object_proxy_spec.rb
417
+ - spec/vcr/http_stubbing_adapters/typhoeus_spec.rb
418
+ - spec/vcr/http_stubbing_adapters/webmock_spec.rb
419
+ - spec/vcr/middleware/cassette_arguments_spec.rb
420
+ - spec/vcr/middleware/faraday_spec.rb
421
+ - spec/vcr/middleware/rack_spec.rb
422
+ - spec/vcr/request_matcher_spec.rb
423
+ - spec/vcr/rspec_spec.rb
424
+ - spec/vcr/structs_spec.rb
425
+ - spec/vcr/util/internet_connection_spec.rb
426
+ - spec/vcr/version_spec.rb
405
427
  - spec/vcr_spec.rb
406
- - spec/version_spec.rb
407
428
  - vcr.gemspec
408
429
  has_rdoc: true
409
430
  homepage: http://github.com/myronmarston/vcr
@@ -439,7 +460,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
439
460
  requirements: []
440
461
 
441
462
  rubyforge_project:
442
- rubygems_version: 1.3.7
463
+ rubygems_version: 1.4.1
443
464
  signing_key:
444
465
  specification_version: 3
445
466
  summary: Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests.
@@ -449,19 +470,20 @@ test_files:
449
470
  - features/cassettes/dynamic_erb.feature
450
471
  - features/cassettes/format.feature
451
472
  - features/cassettes/no_cassette.feature
452
- - features/cassettes/record_modes/all.feature
453
- - features/cassettes/record_modes/new_episodes.feature
454
- - features/cassettes/record_modes/none.feature
455
473
  - features/cassettes/request_matching.feature
456
474
  - features/configuration/allow_http_connections_when_no_cassette.feature
457
475
  - features/configuration/cassette_library_dir.feature
458
476
  - features/configuration/default_cassette_options.feature
477
+ - features/configuration/hooks.feature
459
478
  - features/configuration/ignore_localhost.feature
460
479
  - features/configuration/stub_with.feature
461
480
  - features/http_libraries/em_http_request.feature
462
481
  - features/http_libraries/net_http.feature
463
482
  - features/middleware/faraday.feature
464
483
  - features/middleware/rack.feature
484
+ - features/record_modes/all.feature
485
+ - features/record_modes/new_episodes.feature
486
+ - features/record_modes/none.feature
465
487
  - features/step_definitions/cli_steps.rb
466
488
  - features/support/aruba_workaround/aruba_patches.rb
467
489
  - features/support/aruba_workaround/background_process.rb
@@ -472,15 +494,8 @@ test_files:
472
494
  - features/test_frameworks/rspec.feature
473
495
  - features/test_frameworks/shoulda.feature
474
496
  - features/test_frameworks/test_unit.feature
475
- - spec/cassette_spec.rb
476
- - spec/config_spec.rb
477
- - spec/cucumber_tags_spec.rb
478
- - spec/deprecations_spec.rb
479
- - spec/extensions/net_http_response_spec.rb
480
- - spec/extensions/net_http_spec.rb
481
497
  - spec/fixtures/1.9.1/0_3_1_cassette.yml
482
- - spec/fixtures/1.9.1/cassette_spec/erb_with_no_vars.yml
483
- - spec/fixtures/1.9.1/cassette_spec/erb_with_vars.yml
498
+ - spec/fixtures/1.9.1/cassette_spec/empty.yml
484
499
  - spec/fixtures/1.9.1/cassette_spec/example.yml
485
500
  - spec/fixtures/1.9.1/cassette_spec/with_localhost_requests.yml
486
501
  - spec/fixtures/1.9.1/example_net_http.yml
@@ -489,8 +504,7 @@ test_files:
489
504
  - spec/fixtures/1.9.1/fake_example.com_responses.yml
490
505
  - spec/fixtures/1.9.1/match_requests_on.yml
491
506
  - spec/fixtures/not_1.9.1/0_3_1_cassette.yml
492
- - spec/fixtures/not_1.9.1/cassette_spec/erb_with_no_vars.yml
493
- - spec/fixtures/not_1.9.1/cassette_spec/erb_with_vars.yml
507
+ - spec/fixtures/not_1.9.1/cassette_spec/empty.yml
494
508
  - spec/fixtures/not_1.9.1/cassette_spec/example.yml
495
509
  - spec/fixtures/not_1.9.1/cassette_spec/with_localhost_requests.yml
496
510
  - spec/fixtures/not_1.9.1/example_net_http.yml
@@ -498,20 +512,8 @@ test_files:
498
512
  - spec/fixtures/not_1.9.1/example_net_http_response.yml
499
513
  - spec/fixtures/not_1.9.1/fake_example.com_responses.yml
500
514
  - spec/fixtures/not_1.9.1/match_requests_on.yml
501
- - spec/http_stubbing_adapters/fakeweb_spec.rb
502
- - spec/http_stubbing_adapters/faraday_spec.rb
503
- - spec/http_stubbing_adapters/multi_object_proxy_spec.rb
504
- - spec/http_stubbing_adapters/typhoeus_spec.rb
505
- - spec/http_stubbing_adapters/webmock_spec.rb
506
- - spec/internet_connection_spec.rb
507
- - spec/middleware/cassette_arguments_spec.rb
508
- - spec/middleware/faraday_spec.rb
509
- - spec/middleware/rack_spec.rb
510
515
  - spec/monkey_patches.rb
511
- - spec/request_matcher_spec.rb
512
- - spec/rspec_spec.rb
513
516
  - spec/spec_helper.rb
514
- - spec/structs_spec.rb
515
517
  - spec/support/disable_warnings.rb
516
518
  - spec/support/fixnum_extension.rb
517
519
  - spec/support/http_library_adapters.rb
@@ -522,5 +524,25 @@ test_files:
522
524
  - spec/support/vcr_localhost_server.rb
523
525
  - spec/support/version_checker.rb
524
526
  - spec/support/webmock_macros.rb
527
+ - spec/vcr/cassette/reader_spec.rb
528
+ - spec/vcr/cassette_spec.rb
529
+ - spec/vcr/config_spec.rb
530
+ - spec/vcr/cucumber_tags_spec.rb
531
+ - spec/vcr/deprecations_spec.rb
532
+ - spec/vcr/extensions/net_http_response_spec.rb
533
+ - spec/vcr/extensions/net_http_spec.rb
534
+ - spec/vcr/hooks_spec.rb
535
+ - spec/vcr/http_stubbing_adapters/fakeweb_spec.rb
536
+ - spec/vcr/http_stubbing_adapters/faraday_spec.rb
537
+ - spec/vcr/http_stubbing_adapters/multi_object_proxy_spec.rb
538
+ - spec/vcr/http_stubbing_adapters/typhoeus_spec.rb
539
+ - spec/vcr/http_stubbing_adapters/webmock_spec.rb
540
+ - spec/vcr/middleware/cassette_arguments_spec.rb
541
+ - spec/vcr/middleware/faraday_spec.rb
542
+ - spec/vcr/middleware/rack_spec.rb
543
+ - spec/vcr/request_matcher_spec.rb
544
+ - spec/vcr/rspec_spec.rb
545
+ - spec/vcr/structs_spec.rb
546
+ - spec/vcr/util/internet_connection_spec.rb
547
+ - spec/vcr/version_spec.rb
525
548
  - spec/vcr_spec.rb
526
- - spec/version_spec.rb