shutl_resource 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,10 +1,8 @@
1
1
  class Shutl::Resource::Error < ::IOError
2
- attr_reader :response
2
+ attr_reader :body, :status
3
3
 
4
- def initialize message, http_response
5
- @response = http_response
6
-
7
- super message #it really is rather spot on, why thanks for saying, kind sir.
4
+ def initialize body, status
5
+ @body, @status = body, status
8
6
  end
9
7
  end
10
8
 
@@ -292,14 +292,16 @@ module Shutl::Resource
292
292
  Shutl::ServerError
293
293
  end
294
294
 
295
-
296
- output = begin
297
- response.body["errors"]["base"]
298
- rescue
299
- message
295
+ if failure_klass
296
+ body = if response.headers["content-type"] == "application/json"
297
+ response.body
298
+ else
299
+ {debug_info: response.body}
300
300
  end
301
301
 
302
- raise failure_klass.new output, response if failure_klass
302
+
303
+ raise failure_klass.new body, response.status
304
+ end
303
305
  end
304
306
 
305
307
  protected
@@ -1,5 +1,5 @@
1
1
  module Shutl
2
2
  module Resource
3
- VERSION = '1.2.0'
3
+ VERSION = '1.3.0'
4
4
  end
5
5
  end
@@ -0,0 +1,10 @@
1
+ require 'spec_helper'
2
+ describe Shutl::Resource::Error do
3
+
4
+ specify "it has a body and status" do
5
+ error = Shutl::Resource::Error.new({errors: {base: ["something went wrong"]}}, 500)
6
+
7
+ error.body.should == {errors: {base: ["something went wrong"]}}
8
+ error.status.should == 500
9
+ end
10
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shutl_resource
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-08-21 00:00:00.000000000 Z
14
+ date: 2013-08-30 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: httparty
@@ -203,6 +203,7 @@ files:
203
203
  - spec/configuration_spec.rb
204
204
  - spec/configured_base_uri_spec.rb
205
205
  - spec/dynamic_resource_spec.rb
206
+ - spec/error_spec.rb
206
207
  - spec/remote_url_spec.rb
207
208
  - spec/rest_resource_spec.rb
208
209
  - spec/spec_helper.rb
@@ -221,21 +222,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
221
222
  - - ! '>='
222
223
  - !ruby/object:Gem::Version
223
224
  version: '0'
224
- segments:
225
- - 0
226
- hash: 4547288023567173599
227
225
  required_rubygems_version: !ruby/object:Gem::Requirement
228
226
  none: false
229
227
  requirements:
230
228
  - - ! '>='
231
229
  - !ruby/object:Gem::Version
232
230
  version: '0'
233
- segments:
234
- - 0
235
- hash: 4547288023567173599
236
231
  requirements: []
237
232
  rubyforge_project:
238
- rubygems_version: 1.8.25
233
+ rubygems_version: 1.8.23
239
234
  signing_key:
240
235
  specification_version: 3
241
236
  summary: Manage Shutl Rest resource. Parse/Serialize JSON
@@ -243,6 +238,7 @@ test_files:
243
238
  - spec/configuration_spec.rb
244
239
  - spec/configured_base_uri_spec.rb
245
240
  - spec/dynamic_resource_spec.rb
241
+ - spec/error_spec.rb
246
242
  - spec/remote_url_spec.rb
247
243
  - spec/rest_resource_spec.rb
248
244
  - spec/spec_helper.rb