maremma 1.1.1 → 2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: d1d7346d45d16d11fc07441c7c5bdf76c9acb53e
4
- data.tar.gz: 6923eda4b67c04267bd9a0b03af2d6e9dbb7471d
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NTA2M2VjNzdhZmE4YmNkNzdlZDEwNWNjYWQ4NjllZGEyNDY2NDc2Yw==
5
+ data.tar.gz: !binary |-
6
+ ZTg5NWYyY2JkZmUzYTBmNWVlYjU3NGI1NTE2NmQzZTcxODE5MzRkNw==
5
7
  SHA512:
6
- metadata.gz: a4f9ec4cec2540d3eedb1d227c2bbb495fa079ad865c532f92c7f9622d2804efaefe07af152365763f30de13c15e186603271f75f0551debd8d70588a4295de8
7
- data.tar.gz: 6038be3dba218bbc1031a1d25226331514cb631a3ed65c7c6642930fd0b335f283159a36ff20cab7f802cc34c2d27e436fa5938552e10db5b662eaebb9a17cf0
8
+ metadata.gz: !binary |-
9
+ YjRkODhhNWJkMDc1OWEyYmI4OGUxYjAxY2RhZmNhMjM3YTEzNzdiYjY3OWQ4
10
+ ZDFlYTYwY2UzOGI3MWRiMWQwYzM0MWNmZDhhMWZmYzI4NTAzMzBiMmI3YjQ4
11
+ Y2U4ZDIzNjFmZjU1NjFlNWRjYjc2M2QxZjM5NmNjNTdhMmQzMjk=
12
+ data.tar.gz: !binary |-
13
+ OTUwYjE3YmVlZmE2MzIzYTEyNTJmMGRhNzI3MjRhNDU5NDk3YjUxNDJiMjRj
14
+ MDdkZTYzNjNkNmExNzQ4N2JmZDM3ODhmMTllOWRjNDBlMTRkZjc3ZGE3NWIw
15
+ NjU2ZDZhOGQ5ZjY2MTk2MGM4NDk0ZmE0YTkwNjQxMzQyZWY5Mjk=
data/.travis.yml CHANGED
@@ -12,3 +12,6 @@ deploy:
12
12
  on:
13
13
  tags: true
14
14
  repo: datacite/maremma
15
+
16
+ notifications:
17
+ slack: datacite:Wt8En0ALoTA6Kjc5EOKNDWxN
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## v.2.0 (January 24, 2016)
2
+
3
+ [maremma 2.0](https://github.com/datacite/maremma/releases/tag/v.2.0) was released on January 24, 2015:
4
+
5
+ * return JSONAPI-friendly `errors` hash on errors, and `data` hash otherwise
6
+
1
7
  ## v.1.1.0 (January 5, 2016)
2
8
 
3
9
  [maremma 1.1](https://github.com/datacite/maremma/releases/tag/v.1.1.0) was released on January 5, 2015:
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- maremma (1.1.0)
4
+ maremma (2.0)
5
5
  activesupport (~> 4.2, >= 4.2.5)
6
6
  builder (~> 3.2, >= 3.2.2)
7
7
  excon (~> 0.45.0)
@@ -81,6 +81,3 @@ DEPENDENCIES
81
81
  rspec (~> 3.4)
82
82
  vcr
83
83
  webmock (~> 1.22, >= 1.22.3)
84
-
85
- BUNDLED WITH
86
- 1.11.2
data/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  [![Build Status](https://travis-ci.org/datacite/maremma.svg?branch=master)](https://travis-ci.org/datacite/maremma)
4
4
  [![Code Climate](https://codeclimate.com/github/datacite/maremma/badges/gpa.svg)](https://codeclimate.com/github/datacite/maremma)
5
5
 
6
- Utility library for network calls. Based on [Faraday](https://github.com/lostisland/faraday) and [Excon](https://github.com/excon/excon), provides a wrapper for XML/JSON parsing and error handling.
6
+ Utility library for network calls. Based on [Faraday](https://github.com/lostisland/faraday) and [Excon](https://github.com/excon/excon), provides a wrapper for XML/JSON parsing and error handling. All successful responses are returned as hash with key `data`, all errors in a JSONAPI-friendly hash with key `errors`.
7
7
 
8
8
  ## Installation
9
9
 
data/lib/maremma.rb CHANGED
@@ -33,7 +33,7 @@ module Maremma
33
33
  response = conn.post url, {}, options[:headers] do |request|
34
34
  request.body = options[:data]
35
35
  end
36
- parse_response(response.body)
36
+ parse_success_response(response.body)
37
37
  rescue *NETWORKABLE_EXCEPTIONS => error
38
38
  rescue_faraday_error(error)
39
39
  end
@@ -52,10 +52,10 @@ module Maremma
52
52
 
53
53
  # return error if we are close to the rate limit, if supported in headers
54
54
  if get_rate_limit_remaining(response.headers) < 10
55
- return { error: "Rate limit soon exceeded", status: 429 }
55
+ return { 'errors' => [{ 'status' => 429, 'title' => "Too many requests" }] }
56
56
  end
57
57
 
58
- parse_response(response.body)
58
+ parse_success_response(response.body)
59
59
  rescue *NETWORKABLE_EXCEPTIONS => error
60
60
  rescue_faraday_error(error)
61
61
  end
@@ -95,11 +95,25 @@ module Maremma
95
95
 
96
96
  def self.rescue_faraday_error(error)
97
97
  if error.is_a?(Faraday::ResourceNotFound)
98
- { error: "resource not found", status: 404 }
98
+ { 'errors' => [{ 'status' => 404, 'title' => "Not found" }] }
99
99
  elsif error.is_a?(Faraday::TimeoutError) || error.is_a?(Faraday::ConnectionFailed) || (error.try(:response) && error.response[:status] == 408)
100
- { error: "execution expired", status: 408 }
100
+ { 'errors' => [{ 'status' => 408, 'title' =>"Request timeout" }] }
101
101
  else
102
- { error: parse_error_response(error.message), status: 400 }
102
+ { 'errors' => [{ 'status' => 400, 'title' => parse_error_response(error.message) }] }
103
+ end
104
+ end
105
+
106
+ def self.parse_success_response(string)
107
+ string = parse_response(string)
108
+
109
+ if string == ""
110
+ { 'data' => nil }
111
+ elsif string.is_a?(Hash) && string['data']
112
+ string
113
+ elsif string.is_a?(Hash) && string['hash']
114
+ { 'data' => string['hash'] }
115
+ else
116
+ { 'data' => string }
103
117
  end
104
118
  end
105
119
 
@@ -113,12 +127,12 @@ module Maremma
113
127
  end
114
128
  end
115
129
 
130
+ protected
131
+
116
132
  def self.parse_response(string)
117
133
  from_json(string) || from_xml(string) || from_string(string)
118
134
  end
119
135
 
120
- protected
121
-
122
136
  # currently supported by Twitter and Github
123
137
  # with slightly different header names
124
138
  # use arbitrary high value if not supported
@@ -1,3 +1,3 @@
1
1
  module Maremma
2
- VERSION = "1.1.1"
2
+ VERSION = "2.0"
3
3
  end
data/spec/maremma_spec.rb CHANGED
@@ -10,21 +10,21 @@ describe Maremma do
10
10
  it "get json" do
11
11
  stub = stub_request(:get, url).to_return(:body => data.to_json, :status => 200, :headers => { "Content-Type" => "application/json" })
12
12
  response = subject.get(url)
13
- expect(response).to eq(data)
13
+ expect(response).to eq("data" => data)
14
14
  expect(stub).to have_been_requested
15
15
  end
16
16
 
17
17
  it "get xml" do
18
18
  stub = stub_request(:get, url).to_return(:body => data.to_xml, :status => 200, :headers => { "Content-Type" => "application/xml" })
19
19
  response = subject.get(url, content_type: 'xml')
20
- expect(response).to eq('hash' => data)
20
+ expect(response).to eq("data" => data)
21
21
  expect(stub).to have_been_requested
22
22
  end
23
23
 
24
24
  it "get html" do
25
25
  stub = stub_request(:get, url).to_return(:body => data.to_s, :status => 200, :headers => { "Content-Type" => "text/html" })
26
26
  response = subject.get(url, content_type: 'html')
27
- expect(response).to eq(data.to_s)
27
+ expect(response).to eq("data" => data.to_s)
28
28
  expect(stub).to have_been_requested
29
29
  end
30
30
 
@@ -39,33 +39,33 @@ describe Maremma do
39
39
  it "get json" do
40
40
  stub = stub_request(:get, url).to_return(:body => nil, :status => 200, :headers => { "Content-Type" => "application/json" })
41
41
  response = subject.get(url)
42
- expect(response).to be_blank
42
+ expect(response).to eq("data" => nil)
43
43
  expect(stub).to have_been_requested
44
44
  end
45
45
 
46
46
  it "get xml" do
47
47
  stub = stub_request(:get, url).to_return(:body => nil, :status => 200, :headers => { "Content-Type" => "application/xml" })
48
48
  response = subject.get(url, content_type: 'xml')
49
- expect(response).to be_blank
49
+ expect(response).to eq("data" => nil)
50
50
  expect(stub).to have_been_requested
51
51
  end
52
52
 
53
53
  it "get html" do
54
54
  stub = stub_request(:get, url).to_return(:body => nil, :status => 200, :headers => { "Content-Type" => "text/html" })
55
55
  response = subject.get(url, content_type: 'html')
56
- expect(response).to be_blank
56
+ expect(response).to eq("data" => nil)
57
57
  expect(stub).to have_been_requested
58
58
  end
59
59
 
60
60
  it "post xml" do
61
61
  stub = stub_request(:post, url).with(:body => post_data.to_xml).to_return(:body => nil, :status => 200, :headers => { "Content-Type" => "application/xml" })
62
- subject.post(url, content_type: 'xml', data: post_data.to_xml) { |response| expect(response).to be_nil }
62
+ subject.post(url, content_type: 'xml', data: post_data.to_xml) { |response| expect(response).to eq("data" => nil) }
63
63
  expect(stub).to have_been_requested
64
64
  end
65
65
  end
66
66
 
67
67
  context "not found" do
68
- let(:error) { { error: "resource not found", status: 404 } }
68
+ let(:error) { { "errors" => [{ "status" => 404, "title" => "Not found" }]} }
69
69
 
70
70
  it "get json" do
71
71
  stub = stub_request(:get, url).to_return(:body => error.to_json, :status => [404], :headers => { "Content-Type" => "application/json" })
@@ -96,21 +96,21 @@ describe Maremma do
96
96
  it "get json" do
97
97
  stub = stub_request(:get, url).to_return(:status => [408])
98
98
  response = subject.get(url)
99
- expect(response).to eq(error: "execution expired", status: 408)
99
+ expect(response).to eq("errors"=>[{"status"=>408, "title"=>"Request timeout"}])
100
100
  expect(stub).to have_been_requested
101
101
  end
102
102
 
103
103
  it "get xml" do
104
104
  stub = stub_request(:get, url).to_return(:status => [408])
105
105
  response = subject.get(url, content_type: 'xml')
106
- expect(response).to eq(error: "execution expired", status: 408)
106
+ expect(response).to eq("errors"=>[{"status"=>408, "title"=>"Request timeout"}])
107
107
  expect(stub).to have_been_requested
108
108
  end
109
109
 
110
110
  it "get html" do
111
111
  stub = stub_request(:get, url).to_return(:status => [408])
112
112
  response = subject.get(url, content_type: 'html')
113
- expect(response).to eq(error: "execution expired", status: 408)
113
+ expect(response).to eq("errors"=>[{"status"=>408, "title"=>"Request timeout"}])
114
114
  expect(stub).to have_been_requested
115
115
  end
116
116
 
@@ -125,21 +125,21 @@ describe Maremma do
125
125
  it "get json" do
126
126
  stub = stub_request(:get, url).to_timeout
127
127
  response = subject.get(url)
128
- expect(response).to eq(error: "execution expired", status: 408)
128
+ expect(response).to eq("errors"=>[{"status"=>408, "title"=>"Request timeout"}])
129
129
  expect(stub).to have_been_requested
130
130
  end
131
131
 
132
132
  it "get xml" do
133
133
  stub = stub_request(:get, url).to_timeout
134
134
  response = subject.get(url, content_type: 'xml')
135
- expect(response).to eq(error: "execution expired", status: 408)
135
+ expect(response).to eq("errors"=>[{"status"=>408, "title"=>"Request timeout"}])
136
136
  expect(stub).to have_been_requested
137
137
  end
138
138
 
139
139
  it "get html" do
140
140
  stub = stub_request(:get, url).to_timeout
141
141
  response = subject.get(url, content_type: 'html')
142
- expect(response).to eq(error: "execution expired", status: 408)
142
+ expect(response).to eq("errors"=>[{"status"=>408, "title"=>"Request timeout"}])
143
143
  expect(stub).to have_been_requested
144
144
  end
145
145
 
@@ -154,21 +154,21 @@ describe Maremma do
154
154
  it "get json" do
155
155
  stub = stub_request(:get, url).to_return(status: 200, headers: { 'X-Rate-Limit-Remaining' => 3 })
156
156
  response = subject.get(url)
157
- expect(response).to eq(error: "Rate limit soon exceeded", status: 429)
157
+ expect(response).to eq("errors"=>[{"status"=>429, "title"=>"Too many requests"}])
158
158
  expect(stub).to have_been_requested
159
159
  end
160
160
 
161
161
  it "get xml" do
162
162
  stub = stub_request(:get, url).to_return(status: 200, headers: { 'X-Rate-Limit-Remaining' => 3 })
163
163
  response = subject.get(url, content_type: 'xml')
164
- expect(response).to eq(error: "Rate limit soon exceeded", status: 429)
164
+ expect(response).to eq("errors"=>[{"status"=>429, "title"=>"Too many requests"}])
165
165
  expect(stub).to have_been_requested
166
166
  end
167
167
 
168
168
  it "get html" do
169
169
  stub = stub_request(:get, url).to_return(status: 200, headers: { 'X-Rate-Limit-Remaining' => 3 })
170
170
  response = subject.get(url, content_type: 'html')
171
- expect(response).to eq(error: "Rate limit soon exceeded", status: 429)
171
+ expect(response).to eq("errors"=>[{"status"=>429, "title"=>"Too many requests"}])
172
172
  expect(stub).to have_been_requested
173
173
  end
174
174
 
@@ -187,7 +187,7 @@ describe Maremma do
187
187
  stub_request(:get, url).to_return(status: 301, headers: { location: redirect_url })
188
188
  stub_request(:get, redirect_url).to_return(status: 200, body: "Test")
189
189
  response = subject.get(url)
190
- expect(response).to eq("Test")
190
+ expect(response).to eq("data"=>"Test")
191
191
  end
192
192
 
193
193
  it "redirect four times" do
@@ -197,7 +197,7 @@ describe Maremma do
197
197
  stub_request(:get, redirect_url+ "/y").to_return(status: 301, headers: { location: redirect_url + "/z" })
198
198
  stub_request(:get, redirect_url + "/z").to_return(status: 200, body: "Test")
199
199
  response = subject.get(url)
200
- expect(response).to eq("Test")
200
+ expect(response).to eq("data"=>"Test")
201
201
  end
202
202
  end
203
203
 
@@ -218,25 +218,25 @@ describe Maremma do
218
218
  end
219
219
  end
220
220
 
221
- context 'parse_response' do
221
+ context 'parse_success_response' do
222
222
  it 'from_json' do
223
223
  string = '{ "word": "abc" }'
224
- expect(subject.parse_response(string)).to eq("word" => "abc")
224
+ expect(subject.parse_success_response(string)).to eq("data"=>{"word"=>"abc"})
225
225
  end
226
226
 
227
227
  it 'from_xml' do
228
228
  string = "<word>abc</word>"
229
- expect(subject.parse_response(string)).to eq("word" => "abc")
229
+ expect(subject.parse_success_response(string)).to eq("data"=>{"word"=>"abc"})
230
230
  end
231
231
 
232
232
  it 'from_string' do
233
233
  string = "abc"
234
- expect(subject.parse_response(string)).to eq("abc")
234
+ expect(subject.parse_success_response(string)).to eq("data"=>"abc")
235
235
  end
236
236
 
237
237
  it 'from_string with utf-8' do
238
238
  string = "fön "
239
- expect(subject.parse_response(string)).to eq("fön")
239
+ expect(subject.parse_success_response(string)).to eq("data"=>"fön")
240
240
  end
241
241
  end
242
242
  end
metadata CHANGED
@@ -1,241 +1,241 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: maremma
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: '2.0'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Fenner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-05 00:00:00.000000000 Z
11
+ date: 2016-01-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: 0.9.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.9.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: faraday_middleware
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: 0.10.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.10.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: faraday-encoding
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
47
  version: 0.0.1
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.0.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: excon
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
61
  version: 0.45.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ~>
67
67
  - !ruby/object:Gem::Version
68
68
  version: 0.45.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: nokogiri
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ~>
74
74
  - !ruby/object:Gem::Version
75
75
  version: 1.6.6.4
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ~>
81
81
  - !ruby/object:Gem::Version
82
82
  version: 1.6.6.4
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: builder
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ~>
88
88
  - !ruby/object:Gem::Version
89
89
  version: '3.2'
90
- - - ">="
90
+ - - ! '>='
91
91
  - !ruby/object:Gem::Version
92
92
  version: 3.2.2
93
93
  type: :runtime
94
94
  prerelease: false
95
95
  version_requirements: !ruby/object:Gem::Requirement
96
96
  requirements:
97
- - - "~>"
97
+ - - ~>
98
98
  - !ruby/object:Gem::Version
99
99
  version: '3.2'
100
- - - ">="
100
+ - - ! '>='
101
101
  - !ruby/object:Gem::Version
102
102
  version: 3.2.2
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: multi_json
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
- - - "~>"
107
+ - - ~>
108
108
  - !ruby/object:Gem::Version
109
109
  version: 1.11.2
110
110
  type: :runtime
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
- - - "~>"
114
+ - - ~>
115
115
  - !ruby/object:Gem::Version
116
116
  version: 1.11.2
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: oj
119
119
  requirement: !ruby/object:Gem::Requirement
120
120
  requirements:
121
- - - "~>"
121
+ - - ~>
122
122
  - !ruby/object:Gem::Version
123
123
  version: 2.13.1
124
124
  type: :runtime
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
- - - "~>"
128
+ - - ~>
129
129
  - !ruby/object:Gem::Version
130
130
  version: 2.13.1
131
131
  - !ruby/object:Gem::Dependency
132
132
  name: activesupport
133
133
  requirement: !ruby/object:Gem::Requirement
134
134
  requirements:
135
- - - "~>"
135
+ - - ~>
136
136
  - !ruby/object:Gem::Version
137
137
  version: '4.2'
138
- - - ">="
138
+ - - ! '>='
139
139
  - !ruby/object:Gem::Version
140
140
  version: 4.2.5
141
141
  type: :runtime
142
142
  prerelease: false
143
143
  version_requirements: !ruby/object:Gem::Requirement
144
144
  requirements:
145
- - - "~>"
145
+ - - ~>
146
146
  - !ruby/object:Gem::Version
147
147
  version: '4.2'
148
- - - ">="
148
+ - - ! '>='
149
149
  - !ruby/object:Gem::Version
150
150
  version: 4.2.5
151
151
  - !ruby/object:Gem::Dependency
152
152
  name: bundler
153
153
  requirement: !ruby/object:Gem::Requirement
154
154
  requirements:
155
- - - "~>"
155
+ - - ~>
156
156
  - !ruby/object:Gem::Version
157
157
  version: '1.0'
158
158
  type: :development
159
159
  prerelease: false
160
160
  version_requirements: !ruby/object:Gem::Requirement
161
161
  requirements:
162
- - - "~>"
162
+ - - ~>
163
163
  - !ruby/object:Gem::Version
164
164
  version: '1.0'
165
165
  - !ruby/object:Gem::Dependency
166
166
  name: rspec
167
167
  requirement: !ruby/object:Gem::Requirement
168
168
  requirements:
169
- - - "~>"
169
+ - - ~>
170
170
  - !ruby/object:Gem::Version
171
171
  version: '3.4'
172
172
  type: :development
173
173
  prerelease: false
174
174
  version_requirements: !ruby/object:Gem::Requirement
175
175
  requirements:
176
- - - "~>"
176
+ - - ~>
177
177
  - !ruby/object:Gem::Version
178
178
  version: '3.4'
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: rake
181
181
  requirement: !ruby/object:Gem::Requirement
182
182
  requirements:
183
- - - ">="
183
+ - - ! '>='
184
184
  - !ruby/object:Gem::Version
185
185
  version: '0'
186
186
  type: :development
187
187
  prerelease: false
188
188
  version_requirements: !ruby/object:Gem::Requirement
189
189
  requirements:
190
- - - ">="
190
+ - - ! '>='
191
191
  - !ruby/object:Gem::Version
192
192
  version: '0'
193
193
  - !ruby/object:Gem::Dependency
194
194
  name: rack-test
195
195
  requirement: !ruby/object:Gem::Requirement
196
196
  requirements:
197
- - - "~>"
197
+ - - ~>
198
198
  - !ruby/object:Gem::Version
199
199
  version: '0'
200
200
  type: :development
201
201
  prerelease: false
202
202
  version_requirements: !ruby/object:Gem::Requirement
203
203
  requirements:
204
- - - "~>"
204
+ - - ~>
205
205
  - !ruby/object:Gem::Version
206
206
  version: '0'
207
207
  - !ruby/object:Gem::Dependency
208
208
  name: vcr
209
209
  requirement: !ruby/object:Gem::Requirement
210
210
  requirements:
211
- - - ">="
211
+ - - ! '>='
212
212
  - !ruby/object:Gem::Version
213
213
  version: '0'
214
214
  type: :development
215
215
  prerelease: false
216
216
  version_requirements: !ruby/object:Gem::Requirement
217
217
  requirements:
218
- - - ">="
218
+ - - ! '>='
219
219
  - !ruby/object:Gem::Version
220
220
  version: '0'
221
221
  - !ruby/object:Gem::Dependency
222
222
  name: webmock
223
223
  requirement: !ruby/object:Gem::Requirement
224
224
  requirements:
225
- - - "~>"
225
+ - - ~>
226
226
  - !ruby/object:Gem::Version
227
227
  version: '1.22'
228
- - - ">="
228
+ - - ! '>='
229
229
  - !ruby/object:Gem::Version
230
230
  version: 1.22.3
231
231
  type: :development
232
232
  prerelease: false
233
233
  version_requirements: !ruby/object:Gem::Requirement
234
234
  requirements:
235
- - - "~>"
235
+ - - ~>
236
236
  - !ruby/object:Gem::Version
237
237
  version: '1.22'
238
- - - ">="
238
+ - - ! '>='
239
239
  - !ruby/object:Gem::Version
240
240
  version: 1.22.3
241
241
  description: Simplifies network calls, including json/xml parsing and error handling.
@@ -246,8 +246,8 @@ extensions: []
246
246
  extra_rdoc_files:
247
247
  - README.md
248
248
  files:
249
- - ".gitignore"
250
- - ".travis.yml"
249
+ - .gitignore
250
+ - .travis.yml
251
251
  - CHANGELOG.md
252
252
  - Gemfile
253
253
  - Gemfile.lock
@@ -269,20 +269,18 @@ require_paths:
269
269
  - lib
270
270
  required_ruby_version: !ruby/object:Gem::Requirement
271
271
  requirements:
272
- - - ">="
272
+ - - ! '>='
273
273
  - !ruby/object:Gem::Version
274
274
  version: '0'
275
275
  required_rubygems_version: !ruby/object:Gem::Requirement
276
276
  requirements:
277
- - - ">="
277
+ - - ! '>='
278
278
  - !ruby/object:Gem::Version
279
279
  version: '0'
280
280
  requirements: []
281
281
  rubyforge_project:
282
- rubygems_version: 2.5.1
282
+ rubygems_version: 2.4.5
283
283
  signing_key:
284
284
  specification_version: 4
285
285
  summary: Simplified network calls
286
- test_files:
287
- - spec/maremma_spec.rb
288
- - spec/spec_helper.rb
286
+ test_files: []