hyperresource 0.1.2 → 0.1.3

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: 92ee4348030a36d83d74cb0b71bb4b70d1ae6ce0
4
- data.tar.gz: 53aaa0253140cb08399407294b1e469c34e72bef
3
+ metadata.gz: 36d09dbfdb629e25916386e38aec9638a5c92c55
4
+ data.tar.gz: 0432b16c0fe0f5891f4c4efc559ce833f9ee148c
5
5
  SHA512:
6
- metadata.gz: 6600ac1ca86877604297185f1be5e769540dcae149ad36e8cde685d959adc6ce93de86a684450d08fe694f5aac8cc8c39484fa7c80d71f8d0658f760ec5765d9
7
- data.tar.gz: 51289b56ed95a5818a7a6fbe392dc7cec68565451fd94a1838fb83f6647550b11862b03870b394b3767a3dfedaa19c129662d5bf6bb4d4e8a7b94cb0bb68779a
6
+ metadata.gz: 2c3c9eb9d046bab3122d84be8e40905ccdfe84da104da78458dd44d853f64261410198ad33d6e695ee3c6c2aa8acf20244c94f2a239467354a908e93b5be6891
7
+ data.tar.gz: bc7f063ff01e95bd16cf246584c650b8456637ab0ff6d58bc5034834912382bddbeaec04f9a46fc4574dd5bf5b85ea8b55a69af198fe81d98c34d9e163e08c17
@@ -4,6 +4,7 @@ require 'hyper_resource/links'
4
4
  require 'hyper_resource/link'
5
5
  require 'hyper_resource/objects'
6
6
  require 'hyper_resource/response'
7
+ require 'hyper_resource/exceptions'
7
8
 
8
9
  require 'hyper_resource/modules/utils'
9
10
  require 'hyper_resource/modules/http'
@@ -0,0 +1,9 @@
1
+ class HyperResource::Exception < Exception
2
+ end
3
+
4
+ class HyperResource::ClientError < HyperResource::Exception
5
+ end
6
+
7
+ class HyperResource::ServerError < HyperResource::Exception
8
+ end
9
+
@@ -2,7 +2,6 @@ require 'faraday'
2
2
  require 'uri'
3
3
  require 'json'
4
4
 
5
-
6
5
  module HyperResource::Modules::HTTP
7
6
 
8
7
  ## Loads and returns the resource pointed to by +href+. The returned
@@ -31,9 +30,20 @@ module HyperResource::Modules::HTTP
31
30
  private
32
31
 
33
32
  def finish_up
34
- self.response_body = JSON.parse(self.response.body)
35
- self.init_from_response_body!
36
- self.blessed
33
+ status = self.response.status
34
+ if status / 100 == 2
35
+ self.response_body = JSON.parse(self.response.body)
36
+ self.init_from_response_body!
37
+ self.blessed
38
+ elsif status / 100 == 3
39
+ ## TODO redirect logic?
40
+ elsif status / 100 == 4
41
+ raise HyperResource::ClientError, status.to_s
42
+ elsif status / 100 == 5
43
+ raise HyperResource::ServerError, status.to_s
44
+ else ## 1xx? really?
45
+ raise HyperResource::Exception, "Got status #{status}, wtf?"
46
+ end
37
47
  end
38
48
 
39
49
  end
@@ -1,4 +1,4 @@
1
1
  class HyperResource
2
- VERSION = '0.1.2'
3
- VERSION_DATE = '2013-04-12'
2
+ VERSION = '0.1.3'
3
+ VERSION_DATE = '2013-04-22'
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyperresource
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pete Gamache
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-04-12 00:00:00.000000000 Z
11
+ date: 2013-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: uri_template
@@ -90,17 +90,18 @@ executables: []
90
90
  extensions: []
91
91
  extra_rdoc_files: []
92
92
  files:
93
- - lib/hyper_resource/attributes.rb
93
+ - lib/hyperresource.rb
94
+ - lib/hyper_resource.rb
94
95
  - lib/hyper_resource/link.rb
95
96
  - lib/hyper_resource/links.rb
96
- - lib/hyper_resource/modules/bless.rb
97
- - lib/hyper_resource/modules/http.rb
98
- - lib/hyper_resource/modules/utils.rb
97
+ - lib/hyper_resource/exceptions.rb
98
+ - lib/hyper_resource/version.rb
99
99
  - lib/hyper_resource/objects.rb
100
+ - lib/hyper_resource/attributes.rb
101
+ - lib/hyper_resource/modules/utils.rb
102
+ - lib/hyper_resource/modules/http.rb
103
+ - lib/hyper_resource/modules/bless.rb
100
104
  - lib/hyper_resource/response.rb
101
- - lib/hyper_resource/version.rb
102
- - lib/hyper_resource.rb
103
- - lib/hyperresource.rb
104
105
  homepage: https://github.com/gamache/hyperresource
105
106
  licenses:
106
107
  - MIT
@@ -121,9 +122,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
122
  version: '0'
122
123
  requirements: []
123
124
  rubyforge_project:
124
- rubygems_version: 2.0.2
125
+ rubygems_version: 2.0.3
125
126
  signing_key:
126
127
  specification_version: 4
127
128
  summary: Extensible hypermedia client for Ruby
128
129
  test_files: []
129
- has_rdoc: true