haipa 0.0.4 → 0.0.5
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.
- data/lib/haipa.rb +2 -2
- data/lib/haipa/api.rb +1 -1
- data/lib/haipa/embedded.rb +1 -4
- data/lib/haipa/links.rb +1 -4
- data/lib/haipa/resource.rb +9 -2
- data/lib/haipa/version.rb +1 -1
- metadata +28 -28
data/lib/haipa.rb
CHANGED
data/lib/haipa/api.rb
CHANGED
data/lib/haipa/embedded.rb
CHANGED
@@ -3,6 +3,7 @@ module Haipa
|
|
3
3
|
extend Forwardable
|
4
4
|
|
5
5
|
attr_reader :data, :resource
|
6
|
+
alias :to_hash :data
|
6
7
|
def_delegators :@data, :empty?, :has_key?
|
7
8
|
|
8
9
|
def initialize(resource, data)
|
@@ -10,10 +11,6 @@ module Haipa
|
|
10
11
|
@resource = resource
|
11
12
|
end
|
12
13
|
|
13
|
-
def to_hash
|
14
|
-
@data
|
15
|
-
end
|
16
|
-
|
17
14
|
def method_missing(name, *args, &block)
|
18
15
|
if data.has_key?(name)
|
19
16
|
from_array(data[name])
|
data/lib/haipa/links.rb
CHANGED
@@ -3,6 +3,7 @@ module Haipa
|
|
3
3
|
extend Forwardable
|
4
4
|
|
5
5
|
attr_reader :data, :resource
|
6
|
+
alias :to_hash :data
|
6
7
|
def_delegators :@data, :empty?, :has_key?
|
7
8
|
|
8
9
|
def initialize(resource, data)
|
@@ -10,10 +11,6 @@ module Haipa
|
|
10
11
|
@resource = resource
|
11
12
|
end
|
12
13
|
|
13
|
-
def to_hash
|
14
|
-
@data
|
15
|
-
end
|
16
|
-
|
17
14
|
def method_missing(name, *args, &block)
|
18
15
|
if @data.has_key?(name)
|
19
16
|
href = @data[name]['href']
|
data/lib/haipa/resource.rb
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
module Haipa
|
2
|
+
class EmptyResponseError < StandardError; end
|
3
|
+
class FailureResponseError < StandardError; end
|
4
|
+
|
2
5
|
class Resource
|
3
|
-
attr_reader :api, :uri
|
6
|
+
attr_reader :api, :uri, :data
|
7
|
+
alias :to_hash :data
|
4
8
|
|
5
9
|
def initialize(api, uri, data=nil)
|
6
10
|
@api = api
|
@@ -15,7 +19,10 @@ module Haipa
|
|
15
19
|
|
16
20
|
def get
|
17
21
|
return {} unless uri
|
18
|
-
|
22
|
+
response = api.get(uri)
|
23
|
+
raise FailureResponseError unless response.success?
|
24
|
+
raise EmptyResponseError if response.body.blank?
|
25
|
+
@data ||= ::Hashie::Mash.new(JSON.parse(response.body))
|
19
26
|
end
|
20
27
|
|
21
28
|
def embedded
|
data/lib/haipa/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: haipa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,10 +9,16 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-04-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|
16
|
+
version_requirements: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0.8'
|
16
22
|
requirement: !ruby/object:Gem::Requirement
|
17
23
|
none: false
|
18
24
|
requirements:
|
@@ -21,14 +27,14 @@ dependencies:
|
|
21
27
|
version: '0.8'
|
22
28
|
type: :runtime
|
23
29
|
prerelease: false
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: hashie
|
24
32
|
version_requirements: !ruby/object:Gem::Requirement
|
25
33
|
none: false
|
26
34
|
requirements:
|
27
35
|
- - ~>
|
28
36
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: hashie
|
37
|
+
version: 2.0.0
|
32
38
|
requirement: !ruby/object:Gem::Requirement
|
33
39
|
none: false
|
34
40
|
requirements:
|
@@ -37,14 +43,14 @@ dependencies:
|
|
37
43
|
version: 2.0.0
|
38
44
|
type: :runtime
|
39
45
|
prerelease: false
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: addressable
|
40
48
|
version_requirements: !ruby/object:Gem::Requirement
|
41
49
|
none: false
|
42
50
|
requirements:
|
43
51
|
- - ~>
|
44
52
|
- !ruby/object:Gem::Version
|
45
|
-
version: 2.
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: addressable
|
53
|
+
version: 2.3.0
|
48
54
|
requirement: !ruby/object:Gem::Requirement
|
49
55
|
none: false
|
50
56
|
requirements:
|
@@ -53,14 +59,14 @@ dependencies:
|
|
53
59
|
version: 2.3.0
|
54
60
|
type: :runtime
|
55
61
|
prerelease: false
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: bundler
|
56
64
|
version_requirements: !ruby/object:Gem::Requirement
|
57
65
|
none: false
|
58
66
|
requirements:
|
59
67
|
- - ~>
|
60
68
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: bundler
|
69
|
+
version: '1.3'
|
64
70
|
requirement: !ruby/object:Gem::Requirement
|
65
71
|
none: false
|
66
72
|
requirements:
|
@@ -69,44 +75,38 @@ dependencies:
|
|
69
75
|
version: '1.3'
|
70
76
|
type: :development
|
71
77
|
prerelease: false
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ~>
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '1.3'
|
78
78
|
- !ruby/object:Gem::Dependency
|
79
79
|
name: rake
|
80
|
-
|
80
|
+
version_requirements: !ruby/object:Gem::Requirement
|
81
81
|
none: false
|
82
82
|
requirements:
|
83
83
|
- - ! '>='
|
84
84
|
- !ruby/object:Gem::Version
|
85
85
|
version: '0'
|
86
|
-
|
87
|
-
prerelease: false
|
88
|
-
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
89
87
|
none: false
|
90
88
|
requirements:
|
91
89
|
- - ! '>='
|
92
90
|
- !ruby/object:Gem::Version
|
93
91
|
version: '0'
|
92
|
+
type: :development
|
93
|
+
prerelease: false
|
94
94
|
- !ruby/object:Gem::Dependency
|
95
95
|
name: rspec
|
96
|
-
|
96
|
+
version_requirements: !ruby/object:Gem::Requirement
|
97
97
|
none: false
|
98
98
|
requirements:
|
99
99
|
- - ~>
|
100
100
|
- !ruby/object:Gem::Version
|
101
101
|
version: 2.13.0
|
102
|
-
|
103
|
-
prerelease: false
|
104
|
-
version_requirements: !ruby/object:Gem::Requirement
|
102
|
+
requirement: !ruby/object:Gem::Requirement
|
105
103
|
none: false
|
106
104
|
requirements:
|
107
105
|
- - ~>
|
108
106
|
- !ruby/object:Gem::Version
|
109
107
|
version: 2.13.0
|
108
|
+
type: :development
|
109
|
+
prerelease: false
|
110
110
|
description: HAL hypermedia client
|
111
111
|
email:
|
112
112
|
- jon@doveston.me.uk
|
@@ -144,21 +144,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
144
144
|
- - ! '>='
|
145
145
|
- !ruby/object:Gem::Version
|
146
146
|
version: '0'
|
147
|
+
hash: -3000700123602118034
|
147
148
|
segments:
|
148
149
|
- 0
|
149
|
-
hash: -2216550637168734427
|
150
150
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
151
151
|
none: false
|
152
152
|
requirements:
|
153
153
|
- - ! '>='
|
154
154
|
- !ruby/object:Gem::Version
|
155
155
|
version: '0'
|
156
|
+
hash: -3000700123602118034
|
156
157
|
segments:
|
157
158
|
- 0
|
158
|
-
hash: -2216550637168734427
|
159
159
|
requirements: []
|
160
160
|
rubyforge_project:
|
161
|
-
rubygems_version: 1.8.
|
161
|
+
rubygems_version: 1.8.24
|
162
162
|
signing_key:
|
163
163
|
specification_version: 3
|
164
164
|
summary: HAL hypermedia client
|