webmock 2.3.2 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c1069c0a60e8b12e1b55267f15e1e4fb3d57835b
4
- data.tar.gz: 2cc2741c7f3a459e1f861d2975a71b5faa2a97a8
3
+ metadata.gz: fa6515a5f5cc32fb13178203cd7005737dae9ed2
4
+ data.tar.gz: 351a2ceeac166e491aa4cff1d7c9db5b052cb96e
5
5
  SHA512:
6
- metadata.gz: ed37a77fc5f8f16a5d672439a576a977d01dc930455cbe8e3acd65ad571c368597cbcfb21b98c8cb6f6173e877a8a955e4879ba62d73592e36f723594f45e00e
7
- data.tar.gz: 6c9d14043a5f3fd8f359a6b4750c045c65b80c32fd8028c004f10b78fa80c586a2d81c21f1ac4ed6d6d1fba318c8c5ef071f54f5c665d3064c35157eda9dcb8a
6
+ metadata.gz: 55209329e78df950a0cc9f0dfaaf53e1e0029f64b158962f301d77cad5557f6d4e26c94523f5e0cb99afc0f09eacc0560d99d01928d0f604b45bc87d1c82272a
7
+ data.tar.gz: 200bcf41066c34527ff772e2f89105e6603810abb51724461444436b60484ff33630247f8642a1f3865723e717e9624bf14c7bae414c074cfc22289b04f61e1b
data/.travis.yml CHANGED
@@ -1,5 +1,4 @@
1
1
  rvm:
2
- - 1.9.3
3
2
  - 2.0.0
4
3
  - 2.1.0
5
4
  - 2.2.1
@@ -8,14 +7,11 @@ rvm:
8
7
  - 2.4.0
9
8
  - rbx-2
10
9
  - ruby-head
11
- - jruby-9.0.0.0
12
- - jruby-9.0.1.0
13
- - jruby-19mode
14
- - jruby
10
+ - jruby-9.0.5.0
11
+ - jruby-9.1.5.0
15
12
  - jruby-head
16
13
  matrix:
17
14
  allow_failures:
18
- - rvm: jruby-9.0.0.0
19
15
  - rvm: jruby-head
20
16
  - rvm: ruby-head
21
17
  - rvm: rbx-2
data/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## 3.0.0
4
+
5
+ * Dropped support for Ruby 1.9.3
6
+
7
+ * Using Ruby >= 1.9 hash key syntax in stub suggestions
8
+
9
+ Thanks to [Tarmo Tänav](https://github.com/tarmo)
10
+
11
+ * Add at_least matchers for fakeweb-style expectations
12
+
13
+ Thanks to [Joe Marty](https://github.com/mltsy)
14
+
15
+ * Fix against "can't modify frozen String' error when Ruby option `frozen_string_literal` is enabled.
16
+
17
+ Thanks to [Chris Thomson](https://github.com/christhomson)
18
+
19
+ * Handling `read_timeout` option in Net::HTTP in Ruby >= 2.4
20
+
21
+ Thanks to [Christof Koenig](https://github.com/ckoenig)
22
+
23
+ * `RequestRegistry` fix for `RuntimeError - can't add a new key into hash during iteration`
24
+
25
+ Thanks to [Chung-Yi Chi](https://github.com/starsirius)
26
+
3
27
  ## 2.3.2
4
28
 
5
29
  * Restored support for Ruby 1.9.3 to comply with semantic versioning.
data/README.md CHANGED
@@ -32,8 +32,7 @@ Supported HTTP libraries
32
32
  Supported Ruby Interpreters
33
33
  ---------------------------
34
34
 
35
- * MRI 1.9.3
36
- * MRI 2.0.0
35
+ * MRI 2.0
37
36
  * MRI 2.1
38
37
  * MRI 2.2
39
38
  * MRI 2.3
@@ -132,7 +131,7 @@ end # ===> Success
132
131
 
133
132
  ```ruby
134
133
  stub_request(:post, "www.example.com").
135
- with(body: /^.*world$/, headers: {"Content-Type" => /image\/.+/}).
134
+ with(body: /world$/, headers: {"Content-Type" => /image\/.+/}).
136
135
  to_return(body: "abc")
137
136
 
138
137
  uri = URI.parse('http://www.example.com/')
@@ -232,7 +231,7 @@ RestClient.get('user:pass@www.example.com') # ===> Success
232
231
  ### Matching uris using regular expressions
233
232
 
234
233
  ```ruby
235
- stub_request(:any, /.*example.*/)
234
+ stub_request(:any, /example/)
236
235
 
237
236
  Net::HTTP.get('www.example.com', '/') # ===> Success
238
237
  ```
@@ -787,7 +786,7 @@ or these
787
786
 
788
787
  If you provide Regexp to match URI, WebMock will try to match it against every valid form of the same url.
789
788
 
790
- I.e `/.*my path.*/` will match `www.example.com/my%20path` because it is equivalent of `www.example.com/my path`
789
+ I.e `/my path/` will match `www.example.com/my%20path` because it is equivalent of `www.example.com/my path`
791
790
 
792
791
  ## Matching with URI Templates
793
792
 
@@ -1029,6 +1028,13 @@ People who submitted patches and new features or suggested improvements. Many th
1029
1028
  * Ville Lautanala
1030
1029
  * Koichi ITO
1031
1030
  * Jordan Harband
1031
+ * Tarmo Tänav
1032
+ * Joe Marty
1033
+ * Chris Thomson
1034
+ * Vít Ondruch
1035
+ * George Ulmer
1036
+ * Christof Koenig
1037
+ * Chung-Yi Chi
1032
1038
 
1033
1039
  For a full list of contributors you can visit the
1034
1040
  [contributors](https://github.com/bblimke/webmock/contributors) page.
@@ -183,9 +183,6 @@ module WebMock
183
183
  if defined?(Net::OpenTimeout)
184
184
  # Ruby 2.x
185
185
  Net::OpenTimeout
186
- elsif defined?(Net::HTTP::OpenTimeout)
187
- # Ruby 1.9
188
- Net::HTTP::OpenTimeout
189
186
  else
190
187
  # Fallback, if things change
191
188
  Timeout::Error
@@ -259,22 +256,8 @@ end
259
256
  module Net #:nodoc: all
260
257
 
261
258
  class WebMockNetBufferedIO < BufferedIO
262
- if RUBY_VERSION <= '1.9.3'
263
- class_eval <<-DEFINE_METHOD
264
- def initialize(io, debug_output = nil)
265
- common_initialize(io, debug_output)
266
- end
267
- DEFINE_METHOD
268
- else
269
- class_eval <<-DEFINE_METHOD
270
- def initialize(io, read_timeout: 60, continue_timeout: nil, debug_output: nil)
271
- common_initialize(io, debug_output)
272
- end
273
- DEFINE_METHOD
274
- end
275
-
276
- def common_initialize(io, debug_output = nil)
277
- @read_timeout = 60
259
+ def initialize(io, read_timeout: 60, continue_timeout: nil, debug_output: nil)
260
+ @read_timeout = read_timeout
278
261
  @rbuf = ''
279
262
  @debug_output = debug_output
280
263
 
@@ -14,9 +14,9 @@ module WebMock
14
14
  end
15
15
 
16
16
  def times_executed(request_pattern)
17
- self.requested_signatures.hash.select { |request_signature, times_executed|
17
+ self.requested_signatures.select do |request_signature|
18
18
  request_pattern.matches?(request_signature)
19
- }.inject(0) {|sum, (_, times_executed)| sum + times_executed }
19
+ end.inject(0) { |sum, (_, times_executed)| sum + times_executed }
20
20
  end
21
21
 
22
22
  def to_s
@@ -16,6 +16,21 @@ module WebMock
16
16
  self
17
17
  end
18
18
 
19
+ def at_least_once
20
+ @request_execution_verifier.at_least_times_executed = 1
21
+ self
22
+ end
23
+
24
+ def at_least_twice
25
+ @request_execution_verifier.at_least_times_executed = 2
26
+ self
27
+ end
28
+
29
+ def at_least_times(times)
30
+ @request_execution_verifier.at_least_times_executed = times
31
+ self
32
+ end
33
+
19
34
  def with(options = {}, &block)
20
35
  @request_execution_verifier.request_pattern.with(options, &block)
21
36
  self
@@ -16,17 +16,17 @@ module WebMock
16
16
  with = ""
17
17
 
18
18
  if (request_pattern.body_pattern)
19
- with << ":body => #{request_pattern.body_pattern.to_s}"
19
+ with << "body: #{request_pattern.body_pattern.to_s}"
20
20
  end
21
21
 
22
22
  if (request_pattern.headers_pattern)
23
23
  with << ",\n " unless with.empty?
24
24
 
25
- with << ":headers => #{request_pattern.headers_pattern.to_s}"
25
+ with << "headers: #{request_pattern.headers_pattern.to_s}"
26
26
  end
27
27
  string << ".\n with(#{with})" unless with.empty?
28
28
  if with_response
29
- string << ".\n to_return(:status => 200, :body => \"\", :headers => {})"
29
+ string << ".\n to_return(status: 200, body: \"\", headers: {})"
30
30
  end
31
31
  string
32
32
  end
@@ -19,4 +19,4 @@ module Test
19
19
  end
20
20
  end
21
21
 
22
- WebMock::AssertionFailure.error_class = Test::Unit::AssertionFailedError rescue MiniTest::Assertion # ruby1.9 compat
22
+ WebMock::AssertionFailure.error_class = Test::Unit::AssertionFailedError
@@ -22,6 +22,13 @@ module WebMock
22
22
  end
23
23
  end
24
24
 
25
+ def select(&block)
26
+ return unless block_given?
27
+ @lock.synchronize do
28
+ hash.select &block
29
+ end
30
+ end
31
+
25
32
  def each(&block)
26
33
  @order.to_a.sort {|a, b| a[1] <=> b[1]}.each do |a|
27
34
  block.call(a[0], hash[a[0]])
@@ -48,21 +48,11 @@ module WebMock
48
48
  right_pos = marks << json.bytesize
49
49
  output = []
50
50
 
51
- if RUBY_VERSION != "1.9.2"
52
- left_pos.each_with_index do |left, i|
53
- if json.respond_to?(:byteslice)
54
- output << json.byteslice(left.succ..right_pos[i])
55
- else
56
- output << json[left.succ..right_pos[i]]
57
- end
58
- end
59
- else
60
- json_as_binary = json.force_encoding("binary")
61
- left_pos.each_with_index do |left, i|
62
- output << json_as_binary[left.succ..right_pos[i]]
63
- end
64
- output.map! do |binary_str|
65
- binary_str.force_encoding("UTF-8")
51
+ left_pos.each_with_index do |left, i|
52
+ if json.respond_to?(:byteslice)
53
+ output << json.byteslice(left.succ..right_pos[i])
54
+ else
55
+ output << json[left.succ..right_pos[i]]
66
56
  end
67
57
  end
68
58
 
@@ -39,7 +39,7 @@ module WebMock::Util
39
39
  # #=> [['one', 'two'], ['one', 'three']]
40
40
  def query_to_values(query, options={})
41
41
  return nil if query.nil?
42
- query.force_encoding('utf-8') if query.respond_to?(:force_encoding)
42
+ query = query.dup.force_encoding('utf-8') if query.respond_to?(:force_encoding)
43
43
 
44
44
  options[:notation] ||= :subscript
45
45
 
@@ -1,3 +1,3 @@
1
1
  module WebMock
2
- VERSION = '2.3.2' unless defined?(::WebMock::VERSION)
2
+ VERSION = '3.0.0' unless defined?(::WebMock::VERSION)
3
3
  end
@@ -182,7 +182,7 @@ describe "HTTPClient" do
182
182
  end
183
183
  end
184
184
 
185
- context 'httpclient streams response' do
185
+ context 'httpclient streams response', net_connect: true do
186
186
  before do
187
187
  WebMock.allow_net_connect!
188
188
  WebMock.after_request(except: [:other_lib]) do |_, response|
@@ -201,7 +201,8 @@ describe "HTTPClient" do
201
201
 
202
202
  context 'credentials' do
203
203
  it 'are detected when manually specifying Authorization header' do
204
- stub_request(:get, 'username:password@www.example.com').to_return(status: 200)
204
+ stub_request(:get, "http://www.example.com/").with(basic_auth: ['username', 'password']).to_return(status: 200)
205
+
205
206
  headers = {'Authorization' => 'Basic dXNlcm5hbWU6cGFzc3dvcmQ='}
206
207
  expect(http_request(:get, 'http://www.example.com/', {headers: headers}).status).to eql('200')
207
208
  end
@@ -43,6 +43,17 @@ shared_examples_for "Net::HTTP" do
43
43
  end
44
44
  end
45
45
 
46
+ it "should pass the read_timeout value on", net_connect: true do
47
+ @http = Net::HTTP.new('localhost', port)
48
+ read_timeout = @http.read_timeout + 1
49
+ @http.read_timeout = read_timeout
50
+ @http.start {|conn|
51
+ conn.request(Net::HTTP::Get.new("/"))
52
+ socket = conn.instance_variable_get(:@socket)
53
+ expect(socket.read_timeout).to eq(read_timeout)
54
+ }
55
+ end
56
+
46
57
  describe "without start" do
47
58
  it "should close connection after a real request" do
48
59
  @http.get('/') { }
@@ -18,7 +18,7 @@ shared_examples_for "stubbing requests" do |*adapter_info|
18
18
  expect(http_request(:get, "http://www.example.com/hello+/?#{NOT_ESCAPED_PARAMS}").body).to eq("abc")
19
19
  end
20
20
 
21
- it "should return stubbed response for url with non utf query params", "ruby>1.9" => true do
21
+ it "should return stubbed response for url with non utf query params" do
22
22
  param = 'aäoöuü'.encode('iso-8859-1')
23
23
  param = CGI.escape(param)
24
24
  stub_request(:get, "www.example.com/?#{param}").to_return(body: "abc")
@@ -43,6 +43,25 @@ describe WebMock::RequestRegistry do
43
43
  it "should report number of times all matching pattern were requested" do
44
44
  expect(WebMock::RequestRegistry.instance.times_executed(WebMock::RequestPattern.new(:get, /.*example.*/))).to eq(3)
45
45
  end
46
+
47
+ describe "multithreading" do
48
+ let(:request_pattern) { WebMock::RequestPattern.new(:get, "www.example.com") }
49
+
50
+ # Reproduce a multithreading issue that causes a RuntimeError:
51
+ # can't add a new key into hash during iteration.
52
+ it "works normally iterating on the requested signature hash while another thread is setting it" do
53
+ thread_injected = false
54
+ allow(request_pattern).to receive(:matches?).and_wrap_original do |m, *args|
55
+ unless thread_injected
56
+ thread_injected = true
57
+ Thread.new { WebMock::RequestRegistry.instance.requested_signatures.put(:abc) }.join(0.1)
58
+ end
59
+ m.call(*args)
60
+ end
61
+ expect(WebMock::RequestRegistry.instance.times_executed(request_pattern)).to eq(2)
62
+ sleep 0.1 while !WebMock::RequestRegistry.instance.requested_signatures.hash.key?(:abc)
63
+ end
64
+ end
46
65
  end
47
66
 
48
67
  describe "request_signatures" do
@@ -60,7 +60,7 @@ RSpec.describe WebMock::RequestSignatureSnippet do
60
60
  result = subject.request_stubs
61
61
  result.sub!("registered request stubs:\n\n", "")
62
62
  expect(result).to eq(
63
- "stub_request(:get, \"https://www.example.com/\").\n with(:body => {\"a\"=>\"b\"})"
63
+ "stub_request(:get, \"https://www.example.com/\").\n with(body: {\"a\"=>\"b\"})"
64
64
  )
65
65
  end
66
66
 
@@ -74,7 +74,7 @@ RSpec.describe WebMock::RequestSignatureSnippet do
74
74
  result = subject.request_stubs
75
75
  result.sub!("registered request stubs:\n\n", "")
76
76
  expect(result).to eq(
77
- "stub_request(:get, \"https://www.example.com/\").\n with(:body => {\"a\"=>\"b\"})\n\nBody diff:\n [[\"-\", \"key\", \"different value\"], [\"+\", \"a\", \"b\"]]\n"
77
+ "stub_request(:get, \"https://www.example.com/\").\n with(body: {\"a\"=>\"b\"})\n\nBody diff:\n [[\"-\", \"key\", \"different value\"], [\"+\", \"a\", \"b\"]]\n"
78
78
  )
79
79
  end
80
80
  end
@@ -8,7 +8,7 @@ describe WebMock::StubRequestSnippet do
8
8
  end
9
9
 
10
10
  it "should print stub request snippet with url with params and method and empty successful response" do
11
- expected = %Q(stub_request(:get, "http://www.example.com/?a=b&c=d").\n to_return(:status => 200, :body => "", :headers => {}))
11
+ expected = %Q(stub_request(:get, "http://www.example.com/?a=b&c=d").\n to_return(status: 200, body: "", headers: {}))
12
12
  @request_stub = WebMock::RequestStub.from_request_signature(@request_signature)
13
13
  expect(WebMock::StubRequestSnippet.new(@request_stub).to_s).to eq(expected)
14
14
  end
@@ -16,8 +16,8 @@ describe WebMock::StubRequestSnippet do
16
16
  it "should print stub request snippet with body if available" do
17
17
  @request_signature.body = "abcdef"
18
18
  expected = %Q(stub_request(:get, "http://www.example.com/?a=b&c=d").)+
19
- "\n with(:body => \"abcdef\")." +
20
- "\n to_return(:status => 200, :body => \"\", :headers => {})"
19
+ "\n with(body: \"abcdef\")." +
20
+ "\n to_return(status: 200, body: \"\", headers: {})"
21
21
  @request_stub = WebMock::RequestStub.from_request_signature(@request_signature)
22
22
  expect(WebMock::StubRequestSnippet.new(@request_stub).to_s).to eq(expected)
23
23
  end
@@ -25,8 +25,8 @@ describe WebMock::StubRequestSnippet do
25
25
  it "should print stub request snippet with multiline body" do
26
26
  @request_signature.body = "abc\ndef"
27
27
  expected = %Q(stub_request(:get, "http://www.example.com/?a=b&c=d").)+
28
- "\n with(:body => \"abc\\ndef\")." +
29
- "\n to_return(:status => 200, :body => \"\", :headers => {})"
28
+ "\n with(body: \"abc\\ndef\")." +
29
+ "\n to_return(status: 200, body: \"\", headers: {})"
30
30
  @request_stub = WebMock::RequestStub.from_request_signature(@request_signature)
31
31
  expect(WebMock::StubRequestSnippet.new(@request_stub).to_s).to eq(expected)
32
32
  end
@@ -34,8 +34,8 @@ describe WebMock::StubRequestSnippet do
34
34
  it "should print stub request snippet with headers if any" do
35
35
  @request_signature.headers = {'B' => 'b', 'A' => 'a'}
36
36
  expected = 'stub_request(:get, "http://www.example.com/?a=b&c=d").'+
37
- "\n with(:headers => {\'A\'=>\'a\', \'B\'=>\'b\'})." +
38
- "\n to_return(:status => 200, :body => \"\", :headers => {})"
37
+ "\n with(headers: {\'A\'=>\'a\', \'B\'=>\'b\'})." +
38
+ "\n to_return(status: 200, body: \"\", headers: {})"
39
39
  @request_stub = WebMock::RequestStub.from_request_signature(@request_signature)
40
40
  expect(WebMock::StubRequestSnippet.new(@request_stub).to_s).to eq(expected)
41
41
  end
@@ -44,15 +44,15 @@ describe WebMock::StubRequestSnippet do
44
44
  @request_signature.body = "abcdef"
45
45
  @request_signature.headers = {'B' => 'b', 'A' => 'a'}
46
46
  expected = 'stub_request(:get, "http://www.example.com/?a=b&c=d").'+
47
- "\n with(:body => \"abcdef\",\n :headers => {\'A\'=>\'a\', \'B\'=>\'b\'})." +
48
- "\n to_return(:status => 200, :body => \"\", :headers => {})"
47
+ "\n with(body: \"abcdef\",\n headers: {\'A\'=>\'a\', \'B\'=>\'b\'})." +
48
+ "\n to_return(status: 200, body: \"\", headers: {})"
49
49
  @request_stub = WebMock::RequestStub.from_request_signature(@request_signature)
50
50
  expect(WebMock::StubRequestSnippet.new(@request_stub).to_s).to eq(expected)
51
51
  end
52
52
 
53
53
  it "should not print to_return part if not wanted" do
54
54
  expected = 'stub_request(:get, "http://www.example.com/").'+
55
- "\n with(:body => \"abcdef\")"
55
+ "\n with(body: \"abcdef\")"
56
56
  stub = WebMock::RequestStub.new(:get, "www.example.com").with(body: "abcdef").to_return(body: "hello")
57
57
  expect(WebMock::StubRequestSnippet.new(stub).to_s(false)).to eq(expected)
58
58
  end
@@ -68,9 +68,9 @@ describe WebMock::StubRequestSnippet do
68
68
  @request_stub = WebMock::RequestStub.from_request_signature(@request_signature)
69
69
  expected = <<-STUB
70
70
  stub_request(:post, "http://www.example.com/").
71
- with(:body => {"user"=>{"first_name"=>"Bartosz"}},
72
- :headers => {'Content-Type'=>'application/x-www-form-urlencoded'}).
73
- to_return(:status => 200, :body => \"\", :headers => {})
71
+ with(body: {"user"=>{"first_name"=>"Bartosz"}},
72
+ headers: {'Content-Type'=>'application/x-www-form-urlencoded'}).
73
+ to_return(status: 200, body: \"\", headers: {})
74
74
  STUB
75
75
  expect(WebMock::StubRequestSnippet.new(@request_stub).to_s).to eq(expected.strip)
76
76
  end
@@ -82,9 +82,9 @@ stub_request(:post, "http://www.example.com/").
82
82
  @request_stub = WebMock::RequestStub.from_request_signature(@request_signature)
83
83
  expected = <<-STUB
84
84
  stub_request(:post, "http://www.example.com/").
85
- with(:body => "#{multipart_form_body}",
86
- :headers => {'Content-Type'=>'multipart/form-data; boundary=ABC123'}).
87
- to_return(:status => 200, :body => \"\", :headers => {})
85
+ with(body: "#{multipart_form_body}",
86
+ headers: {'Content-Type'=>'multipart/form-data; boundary=ABC123'}).
87
+ to_return(status: 200, body: \"\", headers: {})
88
88
  STUB
89
89
  expect(WebMock::StubRequestSnippet.new(@request_stub).to_s).to eq(expected.strip)
90
90
  end
@@ -64,6 +64,12 @@ describe WebMock::Util::QueryMapper do
64
64
  expect(hsh['a'][0]['b']).to eq(['one'])
65
65
  expect(hsh['a'][0]['c']).to eq(['two'])
66
66
  end
67
+
68
+ it 'should not attempt to mutate its query argument' do
69
+ query = "a=foo".freeze
70
+ hsh = subject.query_to_values(query)
71
+ expect(hsh['a']).to eq('foo')
72
+ end
67
73
  end
68
74
 
69
75
  context '#to_query' do
data/webmock.gemspec CHANGED
@@ -15,9 +15,9 @@ Gem::Specification.new do |s|
15
15
 
16
16
  s.rubyforge_project = 'webmock'
17
17
 
18
- s.required_ruby_version = '>= 1.9.3'
18
+ s.required_ruby_version = '>= 2.0'
19
19
 
20
- s.add_dependency 'addressable', '>= 2.3.6', ('<= 2.4.0' if RUBY_VERSION <= '1.9.3')
20
+ s.add_dependency 'addressable', '>= 2.3.6'
21
21
  s.add_dependency 'crack', '>= 0.3.2'
22
22
  s.add_dependency 'hashdiff'
23
23
 
@@ -27,7 +27,7 @@ Gem::Specification.new do |s|
27
27
  s.add_development_dependency 'typhoeus', '>= 0.5.0'
28
28
  end
29
29
 
30
- s.add_development_dependency 'http', ((RUBY_VERSION <= '1.9.3') ? '0.7.3' : '>= 0.8.0')
30
+ s.add_development_dependency 'http', '>= 0.8.0'
31
31
  s.add_development_dependency 'manticore', '>= 0.5.1' if RUBY_PLATFORM =~ /java/
32
32
  s.add_development_dependency 'rack', ((RUBY_VERSION < '2.2.2') ? '1.6.0' : '> 1.6')
33
33
  s.add_development_dependency 'rspec', '>= 3.1.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webmock
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.2
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bartosz Blimke
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-01 00:00:00.000000000 Z
11
+ date: 2017-04-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -112,16 +112,16 @@ dependencies:
112
112
  name: rack
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">"
115
+ - - '='
116
116
  - !ruby/object:Gem::Version
117
- version: '1.6'
117
+ version: 1.6.0
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">"
122
+ - - '='
123
123
  - !ruby/object:Gem::Version
124
- version: '1.6'
124
+ version: 1.6.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rspec
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -386,7 +386,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
386
386
  requirements:
387
387
  - - ">="
388
388
  - !ruby/object:Gem::Version
389
- version: 1.9.3
389
+ version: '2.0'
390
390
  required_rubygems_version: !ruby/object:Gem::Requirement
391
391
  requirements:
392
392
  - - ">="
@@ -394,7 +394,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
394
394
  version: '0'
395
395
  requirements: []
396
396
  rubyforge_project: webmock
397
- rubygems_version: 2.6.8
397
+ rubygems_version: 2.2.2
398
398
  signing_key:
399
399
  specification_version: 4
400
400
  summary: Library for stubbing HTTP requests in Ruby.