restful_resource 0.10.1 → 0.10.2

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: aa9f1b4444d2963c7d5bbd4d9fe269f683c27409
4
- data.tar.gz: fcec2e74c07c795c613ff58790e3c6ef7d14bd6f
3
+ metadata.gz: 83ebf863b441dd922d4fa84851d0dfe652fd9d85
4
+ data.tar.gz: 5f678540937c1c68d44c5621860dfe178dcc0593
5
5
  SHA512:
6
- metadata.gz: 5c3387bd767ecfbcaa72e3df34ed255e4580d11a4e8dee539efe08ceaa4275f8fe54a56dab86f4651470a09f9397158b1471a96e6af123366e6fe78193a57106
7
- data.tar.gz: ea015503e0f19658d3326a71832f6452aa0e3ad0e711bb94ca914f0a86628d7cf752bc2b0561fd5ad7859dfe67fb0c6ac2315728dfbf293a150844466525414f
6
+ metadata.gz: 3d662a4b7b79a6717f3e6eb05c2d70160ba25f37ef8a131feee4cc63f8effc7a4d731a29cce3978e0322780100ef6951cf4b828aece192fb8be050210ee31427
7
+ data.tar.gz: e56e0dd06bec9cd508951203cc60791fca49ec5af54b9235cf44823b86d896aa98861efdd99e9cb34eeb16271fff87b11764bc9766e79f181e96fdd8ae698d3e
data/Gemfile CHANGED
@@ -1,5 +1,3 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- ruby '2.3.0'
4
-
5
3
  gemspec
data/circle.yml ADDED
@@ -0,0 +1,3 @@
1
+ machine:
2
+ ruby:
3
+ version: 2.3.1
@@ -1,6 +1,6 @@
1
1
  module RestfulResource
2
2
  class HttpClient
3
- class UnprocessableEntity < StandardError
3
+ class HttpError < StandardError
4
4
  attr_reader :response
5
5
 
6
6
  def initialize(response)
@@ -8,21 +8,24 @@ module RestfulResource
8
8
  end
9
9
  end
10
10
 
11
+ class UnprocessableEntity < HttpError
12
+ end
13
+
11
14
  class ResourceNotFound < StandardError
12
15
  def message
13
16
  "404 Resource Not Found"
14
17
  end
15
18
  end
16
19
 
17
- class OtherHttpError < StandardError
18
- attr_reader :response
19
-
20
- def initialize(response)
21
- @response = Response.new(body: response[:body], headers: response[:headers], status: response[:status])
20
+ class OtherHttpError < HttpError
21
+ def message
22
+ "Http Error - Status code: #{response.status}"
22
23
  end
24
+ end
23
25
 
26
+ class ServiceUnavailable < HttpError
24
27
  def message
25
- "Http Error - Status code: #{response.status}"
28
+ "HTTP 503: Service unavailable"
26
29
  end
27
30
  end
28
31
 
@@ -83,10 +86,10 @@ module RestfulResource
83
86
  raise
84
87
  rescue Faraday::ClientError => e
85
88
  response = e.response
86
- if response[:status] == 422
87
- raise HttpClient::UnprocessableEntity.new(response)
88
- else
89
- raise HttpClient::OtherHttpError.new(response)
89
+ case response[:status]
90
+ when 422 then raise HttpClient::UnprocessableEntity.new(response)
91
+ when 503 then raise HttpClient::ServiceUnavailable.new(response)
92
+ else raise HttpClient::OtherHttpError.new(response)
90
93
  end
91
94
  end
92
95
  end
@@ -1,3 +1,3 @@
1
1
  module RestfulResource
2
- VERSION = '0.10.1'
2
+ VERSION = '0.10.2'
3
3
  end
@@ -17,6 +17,7 @@ Gem::Specification.new do |spec|
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
+ spec.required_ruby_version = '>= 2.1'
20
21
 
21
22
  spec.add_development_dependency "bundler", "~> 1.3"
22
23
  spec.add_development_dependency "rake"
@@ -35,6 +35,14 @@ describe RestfulResource::HttpClient do
35
35
  expect { @http_client.post('http://httpbin.org/status/422', data: { name: 'Mad cow' }) }.to raise_error(RestfulResource::HttpClient::UnprocessableEntity)
36
36
  end
37
37
 
38
+ it 'put should raise error 503' do
39
+ expect { @http_client.put('http://httpbin.org/status/503', data: { name: 'Mad cow' }) }.to raise_error(RestfulResource::HttpClient::ServiceUnavailable)
40
+ end
41
+
42
+ it 'post should raise error 503' do
43
+ expect { @http_client.post('http://httpbin.org/status/503', data: { name: 'Mad cow' }) }.to raise_error(RestfulResource::HttpClient::ServiceUnavailable)
44
+ end
45
+
38
46
  it 'should raise error on 404' do
39
47
  expect { @http_client.get('http://httpbin.org/status/404') }.to raise_error(RestfulResource::HttpClient::ResourceNotFound)
40
48
  expect { @http_client.delete('http://httpbin.org/status/404') }.to raise_error(RestfulResource::HttpClient::ResourceNotFound)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: restful_resource
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.1
4
+ version: 0.10.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Santoro
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-04-07 00:00:00.000000000 Z
12
+ date: 2016-06-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -164,6 +164,7 @@ files:
164
164
  - LICENSE.txt
165
165
  - README.md
166
166
  - Rakefile
167
+ - circle.yml
167
168
  - lib/restful_resource.rb
168
169
  - lib/restful_resource/associations.rb
169
170
  - lib/restful_resource/authorization.rb
@@ -200,7 +201,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
200
201
  requirements:
201
202
  - - ">="
202
203
  - !ruby/object:Gem::Version
203
- version: '0'
204
+ version: '2.1'
204
205
  required_rubygems_version: !ruby/object:Gem::Requirement
205
206
  requirements:
206
207
  - - ">="