webmock 1.22.3 → 1.22.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA512:
3
+ metadata.gz: f264f2ee632cba4f292af8842162b194ca3d2869455452e0b4f3a37c090991ee32a4fb8045cd341f023ed54c1aba167ead51af0cfb08e9f94dd9031feaf716d9
4
+ data.tar.gz: 7b2896f0007c759df21777fb3a6497efef8293d230e3356124ab786e12d768ee251163d1bfaa0bf5f653db3b845c3134b542772ba40c69f4c69cd357528b5252
5
+ SHA1:
6
+ metadata.gz: b14156b6d829103daa974ba8bf5b5c3479077cb7
7
+ data.tar.gz: 205f1ed9b69fd533481ebe3161bf82e33f2a134a
@@ -6,6 +6,7 @@ rvm:
6
6
  - 2.1.0
7
7
  - 2.2.1
8
8
  - 2.2.3
9
+ - 2.3.0
9
10
  - rbx-2
10
11
  - ruby-head
11
12
  - ree
@@ -18,7 +19,6 @@ rvm:
18
19
  matrix:
19
20
  allow_failures:
20
21
  - rvm: jruby-9.0.0.0
21
- - rvm: jruby-9.0.1.0
22
22
  - rvm: jruby-18mode
23
23
  - rvm: jruby-head
24
24
  - rvm: ruby-head
@@ -1,5 +1,30 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.22.5
4
+
5
+ * Fixes [bug](https://github.com/bblimke/webmock/issues/565) where WebMock tries
6
+ to alias a method that is deprecated in Ruby Versions > 1.9.2 ('sysread' for class 'StringIO')
7
+
8
+ Thanks to [Marcos Acosta](https://github.com/mmaa) for discovering this bug.
9
+
10
+ ## 1.22.4
11
+
12
+ * Adds support for JSONClient (a subclass of HTTPClient)
13
+
14
+ Thanks to [Andrew Kozin](https://github.com/nepalez)
15
+
16
+ * Adds support for Ruby 2.3.0
17
+
18
+ Thanks to [Charles Pence](https://github.com/cpence)
19
+
20
+ * Adds support for [http](https://github.com/httprb/http) versions >= 1.0.0
21
+
22
+ Thanks to [Alexey Zapparov](https://github.com/ixti)
23
+
24
+ * Fixes support for Ruby 1.8.7 by restrciting Addressable version < 2.4.0
25
+
26
+ Thanks to [Matthew Rudy Jacobs](https://github.com/matthewrudy)
27
+
3
28
  ## 1.22.3
4
29
 
5
30
  * Return "effective_url" attribute in Typhoeus::Response
data/README.md CHANGED
@@ -13,7 +13,7 @@ Features
13
13
  * Smart matching of the same URIs in different representations (also encoded and non encoded forms)
14
14
  * Smart matching of the same headers in different representations.
15
15
  * Support for Test::Unit
16
- * Support for RSpec 1.x and RSpec 2.x
16
+ * Support for RSpec
17
17
  * Support for MiniTest
18
18
 
19
19
  Supported HTTP libraries
@@ -39,6 +39,7 @@ Supported Ruby Interpreters
39
39
  * MRI 2.0.0
40
40
  * MRI 2.1
41
41
  * MRI 2.2
42
+ * MRI 2.3
42
43
  * REE 1.8.7
43
44
  * JRuby
44
45
  * Rubinius
@@ -984,6 +985,8 @@ People who submitted patches and new features or suggested improvements. Many th
984
985
  * Magne Land
985
986
  * yurivm
986
987
  * Mike Knepper
988
+ * Charles Pence
989
+ * Alexey Zapparov
987
990
 
988
991
  For a full list of contributors you can visit the
989
992
  [contributors](https://github.com/bblimke/webmock/contributors) page.
@@ -54,8 +54,8 @@ if defined?(Curl)
54
54
 
55
55
  module Curl
56
56
  class WebMockCurlEasy < Curl::Easy
57
- def curb_or_webmock
58
57
 
58
+ def curb_or_webmock
59
59
  request_signature = build_request_signature
60
60
  WebMock::RequestRegistry.instance.requested_signatures.put(request_signature)
61
61
 
@@ -238,25 +238,25 @@ if defined?(Curl)
238
238
  end
239
239
 
240
240
  def body_str
241
- @body_str || super
241
+ @body_str ||= super
242
242
  end
243
243
  alias body body_str
244
244
 
245
245
  def response_code
246
- @response_code || super
246
+ @response_code ||= super
247
247
  end
248
248
 
249
249
  def header_str
250
- @header_str || super
250
+ @header_str ||= super
251
251
  end
252
252
  alias head header_str
253
253
 
254
254
  def last_effective_url
255
- @last_effective_url || super
255
+ @last_effective_url ||= super
256
256
  end
257
257
 
258
258
  def content_type
259
- @content_type || super
259
+ @content_type ||= super
260
260
  end
261
261
 
262
262
  %w[ success failure missing header body complete progress ].each do |callback|
@@ -7,7 +7,6 @@ if defined?(EventMachine::HttpClient)
7
7
  OriginalHttpClient = EventMachine::HttpClient unless const_defined?(:OriginalHttpClient)
8
8
  OriginalHttpConnection = EventMachine::HttpConnection unless const_defined?(:OriginalHttpConnection)
9
9
 
10
-
11
10
  def self.enable!
12
11
  EventMachine.send(:remove_const, :HttpConnection)
13
12
  EventMachine.send(:const_set, :HttpConnection, EventMachine::WebMockHttpConnection)
@@ -26,7 +25,6 @@ if defined?(EventMachine::HttpClient)
26
25
  end
27
26
 
28
27
  module EventMachine
29
-
30
28
  if defined?(Synchrony) && HTTPMethods.instance_methods.include?(:aget)
31
29
  # have to make the callbacks fire on the next tick in order
32
30
  # to avoid the dreaded "double resume" exception
@@ -100,6 +98,7 @@ if defined?(EventMachine::HttpClient)
100
98
 
101
99
  if stubbed_webmock_response
102
100
  WebMock::CallbackRegistry.invoke_callbacks({:lib => :em_http_request}, request_signature, stubbed_webmock_response)
101
+ @uri ||= nil
103
102
  EM.next_tick {
104
103
  setup(make_raw_response(stubbed_webmock_response), @uri,
105
104
  stubbed_webmock_response.should_timeout ? "WebMock timeout error" : nil)
@@ -10,13 +10,34 @@ module HTTP
10
10
  webmock_response
11
11
  end
12
12
 
13
- def self.from_webmock(webmock_response, request_signature = nil)
14
- status = Status.new(webmock_response.status.first)
15
- headers = webmock_response.headers || {}
16
- body = Body.new Streamer.new webmock_response.body
17
- uri = URI request_signature.uri.to_s if request_signature
13
+ class << self
14
+ def from_webmock(webmock_response, request_signature = nil)
15
+ status = Status.new(webmock_response.status.first)
16
+ headers = webmock_response.headers || {}
17
+ body = Body.new Streamer.new webmock_response.body
18
+ uri = normalize_uri(request_signature && request_signature.uri)
18
19
 
19
- new(status, "1.1", headers, body, uri)
20
+ return new(status, "1.1", headers, body, uri) if HTTP::VERSION < "1.0.0"
21
+
22
+ new({
23
+ :status => status,
24
+ :version => "1.1",
25
+ :headers => headers,
26
+ :body => body,
27
+ :uri => uri
28
+ })
29
+ end
30
+
31
+ private
32
+
33
+ def normalize_uri(uri)
34
+ return unless uri
35
+
36
+ uri = URI.parse uri
37
+ uri.port = nil if uri.default_port && uri.port == uri.default_port
38
+
39
+ uri
40
+ end
20
41
  end
21
42
  end
22
43
  end
@@ -3,6 +3,7 @@ module HTTP
3
3
  def initialize(request, &perform)
4
4
  @request = request
5
5
  @perform = perform
6
+ @request_signature = nil
6
7
  end
7
8
 
8
9
  def exec
@@ -33,13 +34,18 @@ module HTTP
33
34
 
34
35
  return unless webmock_response
35
36
 
36
- raise Errno::ETIMEDOUT if webmock_response.should_timeout
37
+ raise_timeout_error if webmock_response.should_timeout
37
38
  webmock_response.raise_error_if_any
38
39
 
39
40
  invoke_callbacks(webmock_response, :real_request => false)
40
41
  ::HTTP::Response.from_webmock webmock_response, request_signature
41
42
  end
42
43
 
44
+ def raise_timeout_error
45
+ raise Errno::ETIMEDOUT if HTTP::VERSION < "1.0.0"
46
+ raise HTTP::ConnectionError, "connection error: #{Errno::ETIMEDOUT.new}"
47
+ end
48
+
43
49
  def perform
44
50
  return unless ::WebMock.net_connect_allowed?(request_signature.uri)
45
51
  response = @perform.call
@@ -1,7 +1,9 @@
1
1
  begin
2
2
  require 'httpclient'
3
+ require 'jsonclient' # defined in 'httpclient' gem as well
3
4
  rescue LoadError
4
5
  # httpclient not found
6
+ # or jsonclient not defined (in old versions of httclient gem)
5
7
  end
6
8
 
7
9
  if defined?(::HTTPClient)
@@ -11,26 +13,36 @@ if defined?(::HTTPClient)
11
13
  class HTTPClientAdapter < HttpLibAdapter
12
14
  adapter_for :httpclient
13
15
 
14
- OriginalHttpClient = ::HTTPClient unless const_defined?(:OriginalHttpClient)
16
+ unless const_defined?(:OriginalHttpClient)
17
+ OriginalHttpClient = ::HTTPClient
18
+ end
19
+
20
+ unless const_defined?(:OriginalJsonClient)
21
+ OriginalJsonClient = ::JSONClient if defined?(::JSONClient)
22
+ end
15
23
 
16
24
  def self.enable!
17
25
  Object.send(:remove_const, :HTTPClient)
18
26
  Object.send(:const_set, :HTTPClient, WebMockHTTPClient)
27
+ if defined? ::JSONClient
28
+ Object.send(:remove_const, :JSONClient)
29
+ Object.send(:const_set, :JSONClient, WebMockJSONClient)
30
+ end
19
31
  end
20
32
 
21
33
  def self.disable!
22
34
  Object.send(:remove_const, :HTTPClient)
23
35
  Object.send(:const_set, :HTTPClient, OriginalHttpClient)
36
+ if defined? ::JSONClient
37
+ Object.send(:remove_const, :JSONClient)
38
+ Object.send(:const_set, :JSONClient, OriginalJsonClient)
39
+ end
24
40
  end
25
41
  end
26
42
  end
27
43
  end
28
44
 
29
-
30
- class WebMockHTTPClient < HTTPClient
31
- alias_method :do_get_block_without_webmock, :do_get_block
32
- alias_method :do_get_stream_without_webmock, :do_get_stream
33
-
45
+ module WebMockHTTPClients
34
46
  def do_get_block(req, proxy, conn, &block)
35
47
  do_get(req, proxy, conn, false, &block)
36
48
  end
@@ -105,6 +117,22 @@ if defined?(::HTTPClient)
105
117
  end
106
118
  end
107
119
 
120
+ class WebMockHTTPClient < HTTPClient
121
+ alias_method :do_get_block_without_webmock, :do_get_block
122
+ alias_method :do_get_stream_without_webmock, :do_get_stream
123
+
124
+ include WebMockHTTPClients
125
+ end
126
+
127
+ if defined? ::JSONClient
128
+ class WebMockJSONClient < JSONClient
129
+ alias_method :do_get_block_without_webmock, :do_get_block
130
+ alias_method :do_get_stream_without_webmock, :do_get_stream
131
+
132
+ include WebMockHTTPClients
133
+ end
134
+ end
135
+
108
136
  def build_webmock_response(httpclient_response)
109
137
  webmock_response = WebMock::Response.new
110
138
  webmock_response.status = [httpclient_response.status, httpclient_response.reason]
@@ -210,6 +210,18 @@ module WebMock
210
210
  end
211
211
  end
212
212
 
213
+ # patch for StringIO behavior in Ruby 2.2.3
214
+ # https://github.com/bblimke/webmock/issues/558
215
+ class PatchedStringIO < StringIO #:nodoc:
216
+
217
+ alias_method :orig_read_nonblock, :read_nonblock
218
+
219
+ def read_nonblock(size, *args)
220
+ orig_read_nonblock(size)
221
+ end
222
+
223
+ end
224
+
213
225
  class StubSocket #:nodoc:
214
226
 
215
227
  attr_accessor :read_timeout, :continue_timeout
@@ -235,10 +247,12 @@ module Net #:nodoc: all
235
247
  @debug_output = debug_output
236
248
 
237
249
  @io = case io
238
- when Socket, OpenSSL::SSL::SSLSocket, IO, StringIO
250
+ when Socket, OpenSSL::SSL::SSLSocket, IO
239
251
  io
252
+ when StringIO
253
+ PatchedStringIO.new(io.string)
240
254
  when String
241
- StringIO.new(io)
255
+ PatchedStringIO.new(io)
242
256
  end
243
257
  raise "Unable to create local socket" unless @io
244
258
  end
@@ -34,26 +34,26 @@ module WebMock
34
34
  end
35
35
 
36
36
  def description
37
- "request #{request_pattern.to_s} #{quantity_phrase.strip}"
37
+ "request #{request_pattern} #{quantity_phrase.strip}"
38
38
  end
39
39
 
40
40
  def failure_message
41
- failure_message_phrase(is_negated=false)
41
+ failure_message_phrase(false)
42
42
  end
43
43
 
44
44
  def failure_message_when_negated
45
- failure_message_phrase(is_negated=true)
45
+ failure_message_phrase(true)
46
46
  end
47
47
 
48
48
  def self.executed_requests_message
49
- "\n\nThe following requests were made:\n\n#{RequestRegistry.instance.to_s}\n" + "="*60
49
+ "\n\nThe following requests were made:\n\n#{RequestRegistry.instance}\n" + "="*60
50
50
  end
51
51
 
52
52
  private
53
53
 
54
54
  def failure_message_phrase(is_negated=false)
55
55
  negation = is_negated ? "was not" : "was"
56
- text = "The request #{request_pattern.to_s} #{negation} expected to execute #{quantity_phrase(is_negated)}but it executed #{times(times_executed)}"
56
+ text = "The request #{request_pattern} #{negation} expected to execute #{quantity_phrase(is_negated)}but it executed #{times(times_executed)}"
57
57
  text << self.class.executed_requests_message
58
58
  text
59
59
  end
@@ -1,8 +1,10 @@
1
1
  require "pathname"
2
2
 
3
3
  #compatibility with Ruby 1.9.2 preview1 to allow reading raw responses
4
- class StringIO
5
- alias_method :read_nonblock, :sysread
4
+ if RUBY_VERSION <= "1.9.2"
5
+ class StringIO
6
+ alias_method :read_nonblock, :sysread
7
+ end
6
8
  end
7
9
 
8
10
  module WebMock
@@ -1,3 +1,3 @@
1
1
  module WebMock
2
- VERSION = '1.22.3' unless defined?(::WebMock::VERSION)
2
+ VERSION = '1.22.5' unless defined?(::WebMock::VERSION)
3
3
  end
@@ -82,7 +82,6 @@ unless RUBY_PLATFORM =~ /java/
82
82
  end
83
83
 
84
84
  it "should call on_body for each chunk with chunked response" do
85
- body = "on_body fired"
86
85
  stub_request(:any, "example.com").
87
86
  to_return(:body => ["first_chunk", "second_chunk"],
88
87
  :headers => {"Transfer-Encoding" => "chunked"})
@@ -287,7 +286,6 @@ unless RUBY_PLATFORM =~ /java/
287
286
 
288
287
  context "when response does not include Content-Type header" do
289
288
  it "returns nil for content_type" do
290
- content_type = "application/json"
291
289
 
292
290
  stub_request(:any, 'example.com').
293
291
  to_return(:body => "abc",
@@ -164,7 +164,7 @@ unless RUBY_PLATFORM =~ /java/
164
164
  expect {
165
165
  EM.run do
166
166
  fiber = Fiber.new do
167
- http = EM::HttpRequest.new("http://www.testserver.com").post :body => "foo=bar&baz=bang", :timeout => 60
167
+ EM::HttpRequest.new("http://www.testserver.com").post :body => "foo=bar&baz=bang", :timeout => 60
168
168
  EM.stop
169
169
  end
170
170
  fiber.resume
@@ -48,12 +48,26 @@ describe "HTTP.rb" do
48
48
  end
49
49
  end
50
50
 
51
- it "restores request uri on replayed response object" do
52
- uri = Addressable::URI.parse "http://example.com/foo"
51
+ context "restored request uri on replayed response object" do
52
+ it "keeps non-default port" do
53
+ stub_request :get, "example.com:1234/foo"
54
+ response = HTTP.get "http://example.com:1234/foo"
53
55
 
54
- stub_request :get, "example.com/foo"
55
- response = HTTP.get uri
56
+ expect(response.uri.to_s).to eq "http://example.com:1234/foo"
57
+ end
58
+
59
+ it "does not injects default port" do
60
+ stub_request :get, "example.com/foo"
61
+ response = HTTP.get "http://example.com/foo"
62
+
63
+ expect(response.uri.to_s).to eq "http://example.com/foo"
64
+ end
65
+
66
+ it "strips out default port even if it was explicitly given" do
67
+ stub_request :get, "example.com/foo"
68
+ response = HTTP.get "http://example.com:80/foo"
56
69
 
57
- expect(response.uri.to_s).to eq uri.to_s
70
+ expect(response.uri.to_s).to eq "http://example.com/foo"
71
+ end
58
72
  end
59
73
  end
@@ -13,11 +13,13 @@ module HttpRbSpecHelper
13
13
  end
14
14
 
15
15
  def client_timeout_exception_class
16
- Errno::ETIMEDOUT
16
+ return Errno::ETIMEDOUT if HTTP::VERSION < "1.0.0"
17
+ HTTP::ConnectionError
17
18
  end
18
19
 
19
20
  def connection_refused_exception_class
20
- Errno::ECONNREFUSED
21
+ return Errno::ECONNREFUSED if HTTP::VERSION < "1.0.0"
22
+ HTTP::ConnectionError
21
23
  end
22
24
 
23
25
  def http_library
@@ -47,6 +47,16 @@ describe "HTTPClient" do
47
47
  expect(str).to eq('test')
48
48
  end
49
49
 
50
+ it "should work via JSONClient subclass" do
51
+ stub_request(:get, 'www.example.com').to_return(
52
+ :status => 200,
53
+ :body => '{"test": "foo"}',
54
+ :headers => {'Content-Type' => 'application/json'}
55
+ )
56
+ content = JSONClient.get('www.example.com').content
57
+ expect(content).to eq("test" => "foo")
58
+ end
59
+
50
60
  context "multipart bodies" do
51
61
  let(:header) {{
52
62
  'Accept' => 'application/json',
@@ -228,12 +228,12 @@ describe "Net:HTTP" do
228
228
 
229
229
  it "should connect to the server if the URI matches an regex", :net_connect => true do
230
230
  WebMock.disable_net_connect!(:allow => /google.com/)
231
- response = Net::HTTP.get('www.google.com','/')
231
+ Net::HTTP.get('www.google.com','/')
232
232
  end
233
233
 
234
234
  it "should connect to the server if the URI matches any regex the array", :net_connect => true do
235
235
  WebMock.disable_net_connect!(:allow => [/google.com/, /yahoo.com/])
236
- response = Net::HTTP.get('www.google.com','/')
236
+ Net::HTTP.get('www.google.com','/')
237
237
  end
238
238
 
239
239
  end
@@ -24,14 +24,13 @@ unless RUBY_PLATFORM =~ /java/
24
24
  before(:each) do
25
25
  @dir_path = Dir.mktmpdir('webmock-')
26
26
  @file_path = File.join(@dir_path, "webmock_temp_test_file")
27
- FileUtils.rm_rf(@file_path) if File.exists?(@file_path)
27
+ FileUtils.rm_rf(@file_path) if File.exist?(@file_path)
28
28
  end
29
29
 
30
30
  after(:each) do
31
31
  FileUtils.rm_rf(@dir_path) if File.exist?(@dir_path)
32
32
  end
33
33
 
34
-
35
34
  it "should work with get_file" do
36
35
  stub_request(:get, "www.example.com").to_return(:body => "abc")
37
36
  @sess.get_file("/", @file_path)
@@ -115,7 +114,6 @@ unless RUBY_PLATFORM =~ /java/
115
114
  stub_request(:get, "www.example.com").
116
115
  to_return(:body => "<?xml encoding=\"iso-8859-1\">Øl</xml>".encode("iso-8859-1"))
117
116
 
118
-
119
117
  expect(@sess.get("").body.encoding).to eq(Encoding::ISO_8859_1)
120
118
  end
121
119
 
@@ -11,8 +11,17 @@ shared_context "allowing and disabling net connect" do |*adapter_info|
11
11
 
12
12
  it "should make a real https request if request is not stubbed" do
13
13
  unless http_library == :httpclient
14
- expect(http_request(:get, "https://www.google.com/").
15
- body).to match(/.*google.*/)
14
+ result = http_request(:get, "https://www.google.com/").body
15
+ if result.respond_to? :encode
16
+ result = result.encode(
17
+ 'UTF-8',
18
+ 'binary',
19
+ :invalid => :replace,
20
+ :undef => :replace,
21
+ :replace => ''
22
+ )
23
+ end
24
+ expect(result).to match(/.*google.*/)
16
25
  end
17
26
  end
18
27
 
@@ -1,6 +1,7 @@
1
1
  shared_context "callbacks" do |*adapter_info|
2
2
  describe "when after_request callback is declared" do
3
3
  before(:each) do
4
+ @called = nil
4
5
  WebMock.reset_callbacks
5
6
  stub_request(:get, "http://www.example.com")
6
7
  end
@@ -52,7 +52,7 @@ class WebMockServer
52
52
 
53
53
  loop do
54
54
  begin
55
- s = TCPSocket.new("localhost", port)
55
+ TCPSocket.new("localhost", port)
56
56
  sleep 0.1
57
57
  break
58
58
  rescue Errno::ECONNREFUSED
@@ -24,8 +24,8 @@ describe WebMock::RackResponse do
24
24
 
25
25
  it "should shouldn't blow up when hitting a locked resource twice" do
26
26
  @locked_rack_response = WebMock::RackResponse.new(MyLockedRackApp)
27
- request = WebMock::RequestSignature.new(:get, 'www.example.com/locked')
28
- response = @locked_rack_response.evaluate(request)
27
+ request = WebMock::RequestSignature.new(:get, 'www.example.com/locked')
28
+ @locked_rack_response.evaluate(request)
29
29
  response2 = @locked_rack_response.evaluate(request)
30
30
 
31
31
  expect(response2.body).to include('Single threaded response.')
@@ -15,12 +15,14 @@ Gem::Specification.new do |s|
15
15
 
16
16
  s.rubyforge_project = 'webmock'
17
17
 
18
- s.add_dependency 'addressable', '>= 2.3.6'
18
+ patron_version = (RUBY_VERSION <= '1.8.7') ? '0.4.18' : '>= 0.4.18'
19
+ addressable_version = (RUBY_VERSION) > '1.8.7' ? '>= 2.3.6' : '< 2.4.0'
20
+ manticore_version = (RUBY_VERSION) > '1.8.7' ? '>= 0.5.1' : '<= 0.5.1'
21
+
22
+ s.add_dependency 'addressable', addressable_version
19
23
  s.add_dependency 'crack', '>=0.3.2'
20
24
  s.add_dependency 'hashdiff'
21
25
 
22
- patron_version = (RUBY_VERSION <= '1.8.7') ? '0.4.18' : '>= 0.4.18'
23
-
24
26
  s.add_development_dependency 'rspec', '>= 3.1.0'
25
27
  s.add_development_dependency 'httpclient', '>= 2.2.4'
26
28
  s.add_development_dependency('patron', patron_version) unless RUBY_PLATFORM =~ /java/
@@ -29,7 +31,7 @@ Gem::Specification.new do |s|
29
31
  s.add_development_dependency 'em-synchrony', '>= 1.0.0' if RUBY_VERSION >= "1.9"
30
32
  s.add_development_dependency 'curb', '<= 0.8.6' unless RUBY_PLATFORM =~ /java/
31
33
  s.add_development_dependency 'typhoeus', '>= 0.5.0' unless RUBY_PLATFORM =~ /java/
32
- s.add_development_dependency 'manticore', '>= 0.5.1' if RUBY_PLATFORM =~ /java/
34
+ s.add_development_dependency('manticore', manticore_version) if RUBY_PLATFORM =~ /java/
33
35
  s.add_development_dependency 'excon', '>= 0.27.5'
34
36
  s.add_development_dependency 'minitest', '~> 5.0.0'
35
37
  s.add_development_dependency 'rdoc', ((RUBY_VERSION == '1.8.6') ? '<= 3.5.0' : '>3.5.0')
metadata CHANGED
@@ -1,13 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webmock
3
3
  version: !ruby/object:Gem::Version
4
- hash: 73
5
- prerelease:
6
- segments:
7
- - 1
8
- - 22
9
- - 3
10
- version: 1.22.3
4
+ version: 1.22.5
11
5
  platform: ruby
12
6
  authors:
13
7
  - Bartosz Blimke
@@ -15,229 +9,147 @@ autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
11
 
18
- date: 2015-11-02 00:00:00 +01:00
19
- default_executable:
12
+ date: 2016-01-05 00:00:00 Z
20
13
  dependencies:
21
14
  - !ruby/object:Gem::Dependency
22
- type: :runtime
23
15
  version_requirements: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
16
  requirements:
26
- - - ">="
17
+ - - <
27
18
  - !ruby/object:Gem::Version
28
- hash: 15
29
- segments:
30
- - 2
31
- - 3
32
- - 6
33
- version: 2.3.6
19
+ version: 2.4.0
20
+ name: addressable
34
21
  prerelease: false
35
22
  requirement: *id001
36
- name: addressable
37
- - !ruby/object:Gem::Dependency
38
23
  type: :runtime
24
+ - !ruby/object:Gem::Dependency
39
25
  version_requirements: &id002 !ruby/object:Gem::Requirement
40
- none: false
41
26
  requirements:
42
27
  - - ">="
43
28
  - !ruby/object:Gem::Version
44
- hash: 23
45
- segments:
46
- - 0
47
- - 3
48
- - 2
49
29
  version: 0.3.2
30
+ name: crack
50
31
  prerelease: false
51
32
  requirement: *id002
52
- name: crack
53
- - !ruby/object:Gem::Dependency
54
33
  type: :runtime
34
+ - !ruby/object:Gem::Dependency
55
35
  version_requirements: &id003 !ruby/object:Gem::Requirement
56
- none: false
57
36
  requirements:
58
- - - ">="
37
+ - &id014
38
+ - ">="
59
39
  - !ruby/object:Gem::Version
60
- hash: 3
61
- segments:
62
- - 0
63
40
  version: "0"
41
+ name: hashdiff
64
42
  prerelease: false
65
43
  requirement: *id003
66
- name: hashdiff
44
+ type: :runtime
67
45
  - !ruby/object:Gem::Dependency
68
- type: :development
69
46
  version_requirements: &id004 !ruby/object:Gem::Requirement
70
- none: false
71
47
  requirements:
72
48
  - - ">="
73
49
  - !ruby/object:Gem::Version
74
- hash: 3
75
- segments:
76
- - 3
77
- - 1
78
- - 0
79
50
  version: 3.1.0
51
+ name: rspec
80
52
  prerelease: false
81
53
  requirement: *id004
82
- name: rspec
83
- - !ruby/object:Gem::Dependency
84
54
  type: :development
55
+ - !ruby/object:Gem::Dependency
85
56
  version_requirements: &id005 !ruby/object:Gem::Requirement
86
- none: false
87
57
  requirements:
88
58
  - - ">="
89
59
  - !ruby/object:Gem::Version
90
- hash: 15
91
- segments:
92
- - 2
93
- - 2
94
- - 4
95
60
  version: 2.2.4
61
+ name: httpclient
96
62
  prerelease: false
97
63
  requirement: *id005
98
- name: httpclient
99
- - !ruby/object:Gem::Dependency
100
64
  type: :development
65
+ - !ruby/object:Gem::Dependency
101
66
  version_requirements: &id006 !ruby/object:Gem::Requirement
102
- none: false
103
67
  requirements:
104
68
  - - "="
105
69
  - !ruby/object:Gem::Version
106
- hash: 43
107
- segments:
108
- - 0
109
- - 4
110
- - 18
111
70
  version: 0.4.18
71
+ name: patron
112
72
  prerelease: false
113
73
  requirement: *id006
114
- name: patron
115
- - !ruby/object:Gem::Dependency
116
74
  type: :development
75
+ - !ruby/object:Gem::Dependency
117
76
  version_requirements: &id007 !ruby/object:Gem::Requirement
118
- none: false
119
77
  requirements:
120
78
  - - ">="
121
79
  - !ruby/object:Gem::Version
122
- hash: 19
123
- segments:
124
- - 1
125
- - 0
126
- - 2
127
80
  version: 1.0.2
81
+ name: em-http-request
128
82
  prerelease: false
129
83
  requirement: *id007
130
- name: em-http-request
131
- - !ruby/object:Gem::Dependency
132
84
  type: :development
85
+ - !ruby/object:Gem::Dependency
133
86
  version_requirements: &id008 !ruby/object:Gem::Requirement
134
- none: false
135
87
  requirements:
136
88
  - - "="
137
89
  - !ruby/object:Gem::Version
138
- hash: 5
139
- segments:
140
- - 0
141
- - 7
142
- - 3
143
90
  version: 0.7.3
91
+ name: http
144
92
  prerelease: false
145
93
  requirement: *id008
146
- name: http
147
- - !ruby/object:Gem::Dependency
148
94
  type: :development
95
+ - !ruby/object:Gem::Dependency
149
96
  version_requirements: &id009 !ruby/object:Gem::Requirement
150
- none: false
151
97
  requirements:
152
98
  - - <=
153
99
  - !ruby/object:Gem::Version
154
- hash: 51
155
- segments:
156
- - 0
157
- - 8
158
- - 6
159
100
  version: 0.8.6
101
+ name: curb
160
102
  prerelease: false
161
103
  requirement: *id009
162
- name: curb
163
- - !ruby/object:Gem::Dependency
164
104
  type: :development
105
+ - !ruby/object:Gem::Dependency
165
106
  version_requirements: &id010 !ruby/object:Gem::Requirement
166
- none: false
167
107
  requirements:
168
108
  - - ">="
169
109
  - !ruby/object:Gem::Version
170
- hash: 11
171
- segments:
172
- - 0
173
- - 5
174
- - 0
175
110
  version: 0.5.0
111
+ name: typhoeus
176
112
  prerelease: false
177
113
  requirement: *id010
178
- name: typhoeus
179
- - !ruby/object:Gem::Dependency
180
114
  type: :development
115
+ - !ruby/object:Gem::Dependency
181
116
  version_requirements: &id011 !ruby/object:Gem::Requirement
182
- none: false
183
117
  requirements:
184
118
  - - ">="
185
119
  - !ruby/object:Gem::Version
186
- hash: 121
187
- segments:
188
- - 0
189
- - 27
190
- - 5
191
120
  version: 0.27.5
121
+ name: excon
192
122
  prerelease: false
193
123
  requirement: *id011
194
- name: excon
195
- - !ruby/object:Gem::Dependency
196
124
  type: :development
125
+ - !ruby/object:Gem::Dependency
197
126
  version_requirements: &id012 !ruby/object:Gem::Requirement
198
- none: false
199
127
  requirements:
200
128
  - - ~>
201
129
  - !ruby/object:Gem::Version
202
- hash: 55
203
- segments:
204
- - 5
205
- - 0
206
- - 0
207
130
  version: 5.0.0
131
+ name: minitest
208
132
  prerelease: false
209
133
  requirement: *id012
210
- name: minitest
211
- - !ruby/object:Gem::Dependency
212
134
  type: :development
135
+ - !ruby/object:Gem::Dependency
213
136
  version_requirements: &id013 !ruby/object:Gem::Requirement
214
- none: false
215
137
  requirements:
216
138
  - - ">"
217
139
  - !ruby/object:Gem::Version
218
- hash: 19
219
- segments:
220
- - 3
221
- - 5
222
- - 0
223
140
  version: 3.5.0
141
+ name: rdoc
224
142
  prerelease: false
225
143
  requirement: *id013
226
- name: rdoc
227
- - !ruby/object:Gem::Dependency
228
144
  type: :development
229
- version_requirements: &id014 !ruby/object:Gem::Requirement
230
- none: false
145
+ - !ruby/object:Gem::Dependency
146
+ version_requirements: &id015 !ruby/object:Gem::Requirement
231
147
  requirements:
232
- - - ">="
233
- - !ruby/object:Gem::Version
234
- hash: 3
235
- segments:
236
- - 0
237
- version: "0"
238
- prerelease: false
239
- requirement: *id014
148
+ - *id014
240
149
  name: rack
150
+ prerelease: false
151
+ requirement: *id015
152
+ type: :development
241
153
  description: WebMock allows stubbing HTTP requests and setting expectations on HTTP requests.
242
154
  email:
243
155
  - bartosz.blimke@gmail.com
@@ -380,39 +292,28 @@ files:
380
292
  - test/test_helper.rb
381
293
  - test/test_webmock.rb
382
294
  - webmock.gemspec
383
- has_rdoc: true
384
295
  homepage: http://github.com/bblimke/webmock
385
296
  licenses:
386
297
  - MIT
298
+ metadata: {}
299
+
387
300
  post_install_message:
388
301
  rdoc_options: []
389
302
 
390
303
  require_paths:
391
304
  - lib
392
305
  required_ruby_version: !ruby/object:Gem::Requirement
393
- none: false
394
306
  requirements:
395
- - - ">="
396
- - !ruby/object:Gem::Version
397
- hash: 3
398
- segments:
399
- - 0
400
- version: "0"
307
+ - *id014
401
308
  required_rubygems_version: !ruby/object:Gem::Requirement
402
- none: false
403
309
  requirements:
404
- - - ">="
405
- - !ruby/object:Gem::Version
406
- hash: 3
407
- segments:
408
- - 0
409
- version: "0"
310
+ - *id014
410
311
  requirements: []
411
312
 
412
313
  rubyforge_project: webmock
413
- rubygems_version: 1.6.2
314
+ rubygems_version: 2.0.17
414
315
  signing_key:
415
- specification_version: 3
316
+ specification_version: 4
416
317
  summary: Library for stubbing HTTP requests in Ruby.
417
318
  test_files:
418
319
  - spec/acceptance/curb/curb_spec.rb