haipa 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|