httparty 0.15.5 → 0.15.6

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of httparty might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3abfd0d8679e4054bc591215e90d767d5024cbf6
4
- data.tar.gz: 38fa4872a3e9cef824a947443b5d7eb3bb04a709
3
+ metadata.gz: e1263475e1be2f8d5150af07865061bc509a4bcc
4
+ data.tar.gz: d531b6ddb71d9f04945f4136f519743e4f04e7d2
5
5
  SHA512:
6
- metadata.gz: b398852558384d98d88f73c750e9e41ec93ae631b7f7de00f382d11087b70eae9ccf620a3cd99513f8b926caa97af5f7f3d6ec319b984c004759fad2a3cd22fe
7
- data.tar.gz: bb01e3e75b9cf968aa6196843e66366679b0242833a89e488e6d589f67083cd4fde486bfeef56fd32386da214107e8dc9e10b3d482f8dca0496257e9b5e388ca
6
+ metadata.gz: 07f2e819d9dd8892682d445dcd0f24e4b90f5d7f3bdbd763ffcb00da32602a5caf4b4da7b8b41df291500a7a0e67fac8bf8169b8cc37c398dbab93fff3da7957
7
+ data.tar.gz: ea815b4c8982649e4927d3a83ab82faeb7bea6be4a5e8d459072c5fa5b7db55506f705eacf6bda1d32b3a7892c65a059da72e29fbb0e233e882f9734165cbb51
data/.gitignore CHANGED
@@ -9,3 +9,4 @@ pkg/
9
9
  /.bundle
10
10
  .rvmrc
11
11
  coverage
12
+ *.gem
@@ -4,5 +4,6 @@ rvm:
4
4
  - 2.1.8
5
5
  - 2.2.4
6
6
  - 2.3.0
7
+ - 2.4.1
7
8
  bundler_args: --without development
8
9
  before_install: gem install bundler
data/Gemfile CHANGED
@@ -2,7 +2,6 @@ source 'https://rubygems.org'
2
2
  gemspec
3
3
 
4
4
  gem 'rake'
5
- gem 'fakeweb', '~> 1.3'
6
5
  gem 'mongrel', '1.2.0.pre2'
7
6
 
8
7
  group :development do
@@ -16,4 +15,5 @@ group :test do
16
15
  gem 'simplecov', require: false
17
16
  gem 'aruba'
18
17
  gem 'cucumber', '~> 2.3'
18
+ gem 'webmock'
19
19
  end
@@ -24,11 +24,10 @@ You can use this guide to work with SSL certificates.
24
24
  # Use this example if you are using a pem file
25
25
 
26
26
  class Client
27
- include HTTParty
28
-
29
- base_uri "https://example.com"
30
- pem File.read("#{File.expand_path('.')}/path/to/certs/cert.pem"), "123456"
27
+ include HTTParty
31
28
 
29
+ base_uri "https://example.com"
30
+ pem File.read("#{File.expand_path('.')}/path/to/certs/cert.pem"), "123456"
32
31
  end
33
32
  ```
34
33
 
@@ -38,11 +37,10 @@ end
38
37
  # Use this example if you are using a pkcs12 file
39
38
 
40
39
  class Client
41
- include HTTParty
42
-
43
- base_uri "https://example.com"
44
- pkcs12 File.read("#{File.expand_path('.')}/path/to/certs/cert.p12"), "123456"
40
+ include HTTParty
45
41
 
42
+ base_uri "https://example.com"
43
+ pkcs12 File.read("#{File.expand_path('.')}/path/to/certs/cert.p12"), "123456"
46
44
  end
47
45
  ```
48
46
 
@@ -52,11 +50,10 @@ end
52
50
  # Use this example if you are using a pkcs12 file
53
51
 
54
52
  class Client
55
- include HTTParty
56
-
57
- base_uri "https://example.com"
58
- ssl_ca_file "#{File.expand_path('.')}/path/to/certs/cert.pem"
53
+ include HTTParty
59
54
 
55
+ base_uri "https://example.com"
56
+ ssl_ca_file "#{File.expand_path('.')}/path/to/certs/cert.pem"
60
57
  end
61
58
  ```
62
59
 
@@ -66,10 +63,10 @@ end
66
63
  # Use this example if you are using a pkcs12 file
67
64
 
68
65
  class Client
69
- include HTTParty
70
-
71
- base_uri "https://example.com"
72
- ssl_ca_path '/path/to/certs'
66
+ include HTTParty
67
+
68
+ base_uri "https://example.com"
69
+ ssl_ca_path '/path/to/certs'
73
70
  end
74
71
  ```
75
72
 
@@ -77,13 +74,13 @@ You can also include this options with the call:
77
74
 
78
75
  ```ruby
79
76
  class Client
80
- include HTTParty
81
-
82
- base_uri "https://example.com"
83
-
84
- def self.fetch
85
- get("/resources", pem: (File.read("#{File.expand_path('.')}/path/to/certs/cert.pem"), "123456")
86
- end
77
+ include HTTParty
78
+
79
+ base_uri "https://example.com"
80
+
81
+ def self.fetch
82
+ get("/resources", pem: (File.read("#{File.expand_path('.')}/path/to/certs/cert.pem"), "123456")
83
+ end
87
84
  end
88
85
  ```
89
86
 
@@ -92,18 +89,18 @@ end
92
89
  In some cases you may want to skip SSL verification, because the entity that issue the certificate is not a valid one, but you still want to work with it. You can achieve this through:
93
90
 
94
91
  ```ruby
95
- #Skips SSL certificate verification
92
+ # Skips SSL certificate verification
96
93
 
97
94
  class Client
98
- include HTTParty
99
-
100
- base_uri "https://example.com"
101
- pem File.read("#{File.expand_path('.')}/path/to/certs/cert.pem"), "123456"
102
-
103
- def self.fetch
104
- get("/resources", verify: false)
105
- # You can also use something like:
106
- # get("resources", verify_peer: false)
107
- end
95
+ include HTTParty
96
+
97
+ base_uri "https://example.com"
98
+ pem File.read("#{File.expand_path('.')}/path/to/certs/cert.pem"), "123456"
99
+
100
+ def self.fetch
101
+ get("/resources", verify: false)
102
+ # You can also use something like:
103
+ # get("resources", verify_peer: false)
104
+ end
108
105
  end
109
106
  ```
@@ -20,6 +20,7 @@ module HTTParty
20
20
  # @param [Net::HTTPResponse]
21
21
  def initialize(response)
22
22
  @response = response
23
+ super(response)
23
24
  end
24
25
  end
25
26
 
@@ -276,11 +276,10 @@ module HTTParty
276
276
  end
277
277
 
278
278
  def encode_with_ruby_encoding(body, charset)
279
- if !body.nil? && Encoding.name_list.include?(charset)
280
- body.force_encoding(charset)
281
- else
282
- body
283
- end
279
+ encoding = Encoding.find(charset)
280
+ body.force_encoding(charset)
281
+ rescue ArgumentError
282
+ body
284
283
  end
285
284
 
286
285
  def assume_utf16_is_big_endian
@@ -1,3 +1,3 @@
1
1
  module HTTParty
2
- VERSION = "0.15.5"
2
+ VERSION = "0.15.6"
3
3
  end
@@ -157,46 +157,49 @@ RSpec.describe HTTParty::Request do
157
157
  expect(@request.instance_variable_get(:@raw_request)['authorization']).not_to be_nil
158
158
  end
159
159
 
160
- context 'digest_auth' do
161
- before do
160
+ context 'digest_auth' do
161
+ before do
162
162
  response_sequence = [
163
- {status: ['401', 'Unauthorized' ],
164
- www_authenticate: 'Digest realm="Log Viewer", qop="auth", nonce="2CA0EC6B0E126C4800E56BA0C0003D3C", opaque="5ccc069c403ebaf9f0171e9517f40e41", stale=false',
165
- set_cookie: 'custom-cookie=1234567',
163
+ {
164
+ status: ['401', 'Unauthorized' ], headers: {
165
+ www_authenticate: 'Digest realm="Log Viewer", qop="auth", nonce="2CA0EC6B0E126C4800E56BA0C0003D3C", opaque="5ccc069c403ebaf9f0171e9517f40e41", stale=false',
166
+ set_cookie: 'custom-cookie=1234567'
167
+ }
166
168
  },
167
- {status: ['200', 'OK']}
168
- ]
169
- FakeWeb.register_uri(:get, "http://api.foo.com/v1",
170
- response_sequence)
171
- end
169
+ { status: ['200', 'OK'] }
170
+ ]
171
+ stub_request(:get, 'http://api.foo.com/v1').to_return(response_sequence)
172
+ end
172
173
 
173
174
  it 'should not send credentials more than once' do
174
175
  response_sequence = [
175
- {status: ['401', 'Unauthorized' ],
176
- www_authenticate: 'Digest realm="Log Viewer", qop="auth", nonce="2CA0EC6B0E126C4800E56BA0C0003D3C", opaque="5ccc069c403ebaf9f0171e9517f40e41", stale=false',
177
- set_cookie: 'custom-cookie=1234567',
176
+ {
177
+ status: ['401', 'Unauthorized' ], headers: {
178
+ www_authenticate: 'Digest realm="Log Viewer", qop="auth", nonce="2CA0EC6B0E126C4800E56BA0C0003D3C", opaque="5ccc069c403ebaf9f0171e9517f40e41", stale=false',
179
+ set_cookie: 'custom-cookie=1234567'
180
+ }
178
181
  },
179
- {status: ['401', 'Unauthorized' ],
180
- www_authenticate: 'Digest realm="Log Viewer", qop="auth", nonce="2CA0EC6B0E126C4800E56BA0C0003D3C", opaque="5ccc069c403ebaf9f0171e9517f40e41", stale=false',
181
- set_cookie: 'custom-cookie=1234567',
182
- },
183
- {status: ['404', 'Not found']}
184
- ]
185
- FakeWeb.register_uri(:get, "http://api.foo.com/v1",
186
- response_sequence)
187
-
188
- @request.options[:digest_auth] = {username: 'foobar', password: 'secret'}
182
+ {
183
+ status: ['401', 'Unauthorized' ], headers: {
184
+ www_authenticate: 'Digest realm="Log Viewer", qop="auth", nonce="2CA0EC6B0E126C4800E56BA0C0003D3C", opaque="5ccc069c403ebaf9f0171e9517f40e41", stale=false',
185
+ set_cookie: 'custom-cookie=1234567'
186
+ }
187
+ },
188
+ { status: ['404', 'Not found'] }
189
+ ]
190
+ stub_request(:get, 'http://api.foo.com/v1').to_return(response_sequence)
191
+
192
+ @request.options[:digest_auth] = {username: 'foobar', password: 'secret'}
189
193
  response = @request.perform { |v| }
190
194
  expect(response.code).to eq(401)
191
195
 
192
196
  raw_request = @request.instance_variable_get(:@raw_request)
193
- expect(raw_request['Authorization']).not_to be_nil
194
- end
197
+ expect(raw_request['Authorization']).not_to be_nil
198
+ end
195
199
 
196
200
  it 'should not be used when configured and the response is 200' do
197
- FakeWeb.register_uri(:get, "http://api.foo.com/v1",
198
- status: 200)
199
- @request.options[:digest_auth] = {username: 'foobar', password: 'secret'}
201
+ stub_request(:get, 'http://api.foo.com/v1').to_return(status: 200)
202
+ @request.options[:digest_auth] = {username: 'foobar', password: 'secret'}
200
203
  response = @request.perform { |v| }
201
204
  expect(response.code).to eq(200)
202
205
 
@@ -206,7 +209,7 @@ RSpec.describe HTTParty::Request do
206
209
  end
207
210
 
208
211
  it "should be used when configured and the response is 401" do
209
- @request.options[:digest_auth] = {username: 'foobar', password: 'secret'}
212
+ @request.options[:digest_auth] = {username: 'foobar', password: 'secret'}
210
213
  response = @request.perform { |v| }
211
214
  expect(response.code).to eq(200)
212
215
 
@@ -215,16 +218,16 @@ RSpec.describe HTTParty::Request do
215
218
  end
216
219
 
217
220
  it 'should maintain cookies returned from a 401 response' do
218
- @request.options[:digest_auth] = {username: 'foobar', password: 'secret'}
221
+ @request.options[:digest_auth] = {username: 'foobar', password: 'secret'}
219
222
  response = @request.perform {|v|}
220
223
  expect(response.code).to eq(200)
221
-
224
+
222
225
  raw_request = @request.instance_variable_get(:@raw_request)
223
226
  expect(raw_request.get_fields('cookie')).to eql ["custom-cookie=1234567"]
224
227
  end
225
228
 
226
229
  it 'should merge cookies from request and a 401 response' do
227
-
230
+
228
231
  @request.options[:digest_auth] = {username: 'foobar', password: 'secret'}
229
232
  @request.options[:headers] = {'cookie' => 'request-cookie=test'}
230
233
  response = @request.perform {|v|}
@@ -243,7 +246,7 @@ RSpec.describe HTTParty::Request do
243
246
  end
244
247
 
245
248
  it 'should normalize base uri when specified as request option' do
246
- FakeWeb.register_uri(:get, 'http://foo.com/resource', :body => 'Bar')
249
+ stub_request(:get, 'http://foo.com/resource').to_return(body: 'Bar')
247
250
  response = HTTParty.get('/resource', {
248
251
  base_uri: 'foo.com'
249
252
  })
@@ -462,7 +465,7 @@ RSpec.describe HTTParty::Request do
462
465
  }
463
466
 
464
467
  it "should process charset in content type properly" do
465
- response = stub_response "Content"
468
+ response = stub_response "Content".force_encoding('ascii-8bit')
466
469
  response.initialize_http_header("Content-Type" => "text/plain;charset = utf-8")
467
470
  resp = @request.perform
468
471
  expect(response_charset).to_not be_empty
@@ -470,7 +473,7 @@ RSpec.describe HTTParty::Request do
470
473
  end
471
474
 
472
475
  it "should process charset in content type properly if it has a different case" do
473
- response = stub_response "Content"
476
+ response = stub_response "Content".force_encoding('ascii-8bit')
474
477
  response.initialize_http_header("Content-Type" => "text/plain;CHARSET = utf-8")
475
478
  resp = @request.perform
476
479
  expect(response_charset).to_not be_empty
@@ -478,7 +481,7 @@ RSpec.describe HTTParty::Request do
478
481
  end
479
482
 
480
483
  it "should process quoted charset in content type properly" do
481
- response = stub_response "Content"
484
+ response = stub_response "Content".force_encoding('ascii-8bit')
482
485
  response.initialize_http_header("Content-Type" => "text/plain;charset = \"utf-8\"")
483
486
  resp = @request.perform
484
487
  expect(response_charset).to_not be_empty
@@ -526,7 +529,7 @@ RSpec.describe HTTParty::Request do
526
529
  response = stub_response "Content"
527
530
  response.initialize_http_header("Content-Type" => "text/plain;charset = utf-lols")
528
531
  resp = @request.perform
529
- expect(response_charset).to_not be_empty
532
+ expect(response_charset).to_not be_empty
530
533
  # This encoding does not exist, thus the string should not be encodd with it
531
534
  expect(resp.body.encoding).to_not eq(response_charset)
532
535
  expect(resp.body).to eq("Content")
@@ -568,8 +571,13 @@ RSpec.describe HTTParty::Request do
568
571
 
569
572
  it "calls block given to perform with each redirect" do
570
573
  @request = HTTParty::Request.new(Net::HTTP::Get, 'http://test.com/redirect', format: :xml)
571
- FakeWeb.register_uri(:get, "http://test.com/redirect", status: [300, "REDIRECT"], location: "http://api.foo.com/v2")
572
- FakeWeb.register_uri(:get, "http://api.foo.com/v2", body: "<hash><foo>bar</foo></hash>")
574
+ stub_request(:get, 'http://test.com/redirect')
575
+ .to_return(
576
+ status: [300, 'REDIRECT'],
577
+ headers: { location: 'http://api.foo.com/v2' }
578
+ )
579
+ stub_request(:get, 'http://api.foo.com/v2')
580
+ .to_return(body: '<hash><foo>bar</foo></hash>')
573
581
  body = ""
574
582
  response = @request.perform { |chunk| body += chunk }
575
583
  expect(body.length).to eq(27)
@@ -590,9 +598,18 @@ RSpec.describe HTTParty::Request do
590
598
 
591
599
  it "handles multiple redirects and relative location headers on different hosts" do
592
600
  @request = HTTParty::Request.new(Net::HTTP::Get, 'http://test.com/redirect', format: :xml)
593
- FakeWeb.register_uri(:get, "http://test.com/redirect", status: [300, "REDIRECT"], location: "http://api.foo.com/v2")
594
- FakeWeb.register_uri(:get, "http://api.foo.com/v2", status: [300, "REDIRECT"], location: "/v3")
595
- FakeWeb.register_uri(:get, "http://api.foo.com/v3", body: "<hash><foo>bar</foo></hash>")
601
+ stub_request(:get, 'http://test.com/redirect')
602
+ .to_return(
603
+ status: [300, 'REDIRECT'],
604
+ headers: { location: "http://api.foo.com/v2" }
605
+ )
606
+ stub_request(:get, 'http://api.foo.com/v2')
607
+ .to_return(
608
+ status: [300, 'REDIRECT'],
609
+ headers: { location: '/v3' }
610
+ )
611
+ stub_request(:get, 'http://api.foo.com/v3')
612
+ .to_return(body: '<hash><foo>bar</foo></hash>')
596
613
  response = @request.perform
597
614
  expect(response.request.base_uri.to_s).to eq("http://api.foo.com")
598
615
  expect(response.request.path.to_s).to eq("/v3")
@@ -603,7 +620,13 @@ RSpec.describe HTTParty::Request do
603
620
 
604
621
  it "raises an error if redirect has duplicate location header" do
605
622
  @request = HTTParty::Request.new(Net::HTTP::Get, 'http://test.com/redirect', format: :xml)
606
- FakeWeb.register_uri(:get, "http://test.com/redirect", status: [300, "REDIRECT"], location: ["http://api.foo.com/v2","http://api.foo.com/v2"])
623
+ stub_request(:get, 'http://test.com/redirect')
624
+ .to_return(
625
+ status: [300, 'REDIRECT'],
626
+ headers: {
627
+ location: ['http://api.foo.com/v2', 'http://api.foo.com/v2']
628
+ }
629
+ )
607
630
  expect {@request.perform}.to raise_error(HTTParty::DuplicateLocationHeader)
608
631
  end
609
632
 
@@ -613,8 +636,13 @@ RSpec.describe HTTParty::Request do
613
636
  end
614
637
 
615
638
  it "redirects including port" do
616
- FakeWeb.register_uri(:get, "http://withport.com:3000/v1", status: [301, "Moved Permanently"], location: "http://withport.com:3000/v2")
617
- FakeWeb.register_uri(:get, "http://withport.com:3000/v2", status: 200)
639
+ stub_request(:get, 'http://withport.com:3000/v1')
640
+ .to_return(
641
+ status: [301, 'Moved Permanently'],
642
+ headers: { location: 'http://withport.com:3000/v2' }
643
+ )
644
+ stub_request(:get, 'http://withport.com:3000/v2')
645
+ .to_return(status: 200)
618
646
  request = HTTParty::Request.new(Net::HTTP::Get, 'http://withport.com:3000/v1')
619
647
  response = request.perform
620
648
  expect(response.request.base_uri.to_s).to eq("http://withport.com:3000")
@@ -1230,19 +1258,19 @@ RSpec.describe HTTParty::Request do
1230
1258
  end
1231
1259
 
1232
1260
  context 'with Accept-Encoding header' do
1233
- it 'should disable content decoding if present' do
1261
+ it 'should disable content decoding if present' do
1234
1262
  request = HTTParty::Request.new(Net::HTTP::Get, 'http://api.foo.com/v1', headers:{'Accept-Encoding' => 'custom'})
1235
1263
  request.send(:setup_raw_request)
1236
1264
  expect(request.instance_variable_get(:@raw_request).decode_content).to eq(false)
1237
1265
  end
1238
1266
 
1239
- it 'should disable content decoding if present and lowercase' do
1267
+ it 'should disable content decoding if present and lowercase' do
1240
1268
  request = HTTParty::Request.new(Net::HTTP::Get, 'http://api.foo.com/v1', headers:{'accept-encoding' => 'custom'})
1241
1269
  request.send(:setup_raw_request)
1242
1270
  expect(request.instance_variable_get(:@raw_request).decode_content).to eq(false)
1243
1271
  end
1244
1272
 
1245
- it 'should disable content decoding if present' do
1273
+ it 'should disable content decoding if present' do
1246
1274
  request = HTTParty::Request.new(Net::HTTP::Get, 'http://api.foo.com/v1')
1247
1275
  request.send(:setup_raw_request)
1248
1276
  expect(request.instance_variable_get(:@raw_request).decode_content).to eq(true)
@@ -3,11 +3,11 @@ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
3
3
  RSpec.describe HTTParty::Request do
4
4
  context "SSL certificate verification" do
5
5
  before do
6
- FakeWeb.allow_net_connect = true
6
+ WebMock.allow_net_connect!
7
7
  end
8
8
 
9
9
  after do
10
- FakeWeb.allow_net_connect = false
10
+ WebMock.disable_net_connect!
11
11
  end
12
12
 
13
13
  it "should fail when no trusted CA list is specified, by default" do
@@ -333,7 +333,8 @@ RSpec.describe HTTParty do
333
333
 
334
334
  it "should be able parse response with custom parser" do
335
335
  @klass.parser parser
336
- FakeWeb.register_uri(:get, 'http://twitter.com/statuses/public_timeline.xml', body: 'tweets')
336
+ stub_request(:get, 'http://twitter.com/statuses/public_timeline.xml')
337
+ .to_return(body: 'tweets')
337
338
  custom_parsed_response = @klass.get('http://twitter.com/statuses/public_timeline.xml')
338
339
  expect(custom_parsed_response[:sexy]).to eq(true)
339
340
  end
@@ -388,7 +389,7 @@ RSpec.describe HTTParty do
388
389
 
389
390
  it "should process a request with a uri instance parsed from the uri_adapter" do
390
391
  uri = 'http://foo.com/bar'
391
- FakeWeb.register_uri(:get, uri, body: 'stuff')
392
+ stub_request(:get, uri).to_return(body: 'stuff')
392
393
  @klass.uri_adapter uri_adapter
393
394
  expect(@klass.get(uri).parsed_response).to eq('stuff')
394
395
  end
@@ -421,7 +422,7 @@ RSpec.describe HTTParty do
421
422
  expect(o[:connection_adapter_options]).to eq(connection_adapter_options)
422
423
  HTTParty::ConnectionAdapter.call(u, o)
423
424
  }.with(URI.parse(uri), kind_of(Hash))
424
- FakeWeb.register_uri(:get, uri, body: 'stuff')
425
+ stub_request(:get, uri).to_return(body: 'stuff')
425
426
  @klass.connection_adapter connection_adapter, connection_adapter_options
426
427
  expect(@klass.get(uri).parsed_response).to eq('stuff')
427
428
  end
@@ -861,7 +862,7 @@ RSpec.describe HTTParty do
861
862
 
862
863
  it "should accept webcal URIs" do
863
864
  uri = 'http://google.com/'
864
- FakeWeb.register_uri(:get, uri, body: 'stuff')
865
+ stub_request(:get, uri).to_return(body: 'stuff')
865
866
  uri = 'webcal://google.com/'
866
867
  expect do
867
868
  HTTParty.get(uri)
@@ -2,7 +2,7 @@ require "simplecov"
2
2
  SimpleCov.start
3
3
 
4
4
  require "httparty"
5
- require "fakeweb"
5
+ require 'webmock/rspec'
6
6
 
7
7
  def file_fixture(filename)
8
8
  open(File.join(File.dirname(__FILE__), 'fixtures', "#{filename}")).read
@@ -14,14 +14,6 @@ RSpec.configure do |config|
14
14
  config.include HTTParty::StubResponse
15
15
  config.include HTTParty::SSLTestHelper
16
16
 
17
- config.before(:suite) do
18
- FakeWeb.allow_net_connect = false
19
- end
20
-
21
- config.after(:suite) do
22
- FakeWeb.allow_net_connect = true
23
- end
24
-
25
17
  config.expect_with :rspec do |expectations|
26
18
  expectations.include_chain_clauses_in_custom_matcher_descriptions = true
27
19
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: httparty
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.5
4
+ version: 0.15.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Nunemaker
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-05-19 00:00:00.000000000 Z
12
+ date: 2017-07-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: multi_xml