restful_resource 0.10.1 → 0.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
  - - ">="