right_api_client 1.5.21 → 1.5.22
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/.coveralls.yml +1 -0
- data/CHANGELOG.md +7 -0
- data/Gemfile +1 -2
- data/Gemfile.lock +17 -4
- data/README.md +1 -0
- data/VERSION +1 -1
- data/lib/right_api_client/resource_detail.rb +24 -3
- metadata +116 -123
data/.coveralls.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
service_name: travis-ci
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# CHANGELOG.md
|
2
2
|
|
3
|
+
## Next
|
4
|
+
- <Your change here>
|
5
|
+
|
6
|
+
## 1.5.22
|
7
|
+
- \#76 Add ability to directly access attributes of a ResourceDetail
|
8
|
+
- \#74 Add coveralls support
|
9
|
+
|
3
10
|
## 1.5.21
|
4
11
|
- \#71 Stop locking rest-client to 1.6.x and return to locking it to 1.x
|
5
12
|
|
data/Gemfile
CHANGED
@@ -10,8 +10,7 @@ group :development do
|
|
10
10
|
gem 'rake', '0.8.7'
|
11
11
|
gem 'rspec', '2.9.0'
|
12
12
|
gem 'flexmock', '0.8.7'
|
13
|
-
gem '
|
14
|
-
:platforms => [:ruby_19, :ruby_20, :ruby_21]
|
13
|
+
gem 'coveralls', :require => false
|
15
14
|
end
|
16
15
|
|
17
16
|
# Gems used during test and development that should be OMITTED from the gemspec
|
data/Gemfile.lock
CHANGED
@@ -4,6 +4,12 @@ GEM
|
|
4
4
|
addressable (2.3.6)
|
5
5
|
builder (3.2.2)
|
6
6
|
columnize (0.3.6)
|
7
|
+
coveralls (0.7.1)
|
8
|
+
multi_json (~> 1.3)
|
9
|
+
rest-client
|
10
|
+
simplecov (>= 0.7)
|
11
|
+
term-ansicolor
|
12
|
+
thor
|
7
13
|
debugger (1.6.6)
|
8
14
|
columnize (>= 0.3.1)
|
9
15
|
debugger-linecache (~> 1.2.0)
|
@@ -11,6 +17,7 @@ GEM
|
|
11
17
|
debugger-linecache (1.2.0)
|
12
18
|
debugger-ruby_core_source (1.3.2)
|
13
19
|
diff-lcs (1.1.3)
|
20
|
+
docile (1.1.5)
|
14
21
|
faraday (0.8.9)
|
15
22
|
multipart-post (~> 1.2.0)
|
16
23
|
flexmock (0.8.7)
|
@@ -70,14 +77,21 @@ GEM
|
|
70
77
|
ruby-debug-base (~> 0.10.4.0)
|
71
78
|
ruby-debug-base (0.10.4)
|
72
79
|
linecache (>= 0.3)
|
73
|
-
simplecov (0.
|
74
|
-
|
75
|
-
|
80
|
+
simplecov (0.9.0)
|
81
|
+
docile (~> 1.1.0)
|
82
|
+
multi_json
|
83
|
+
simplecov-html (~> 0.8.0)
|
84
|
+
simplecov-html (0.8.0)
|
85
|
+
term-ansicolor (1.3.0)
|
86
|
+
tins (~> 1.0)
|
87
|
+
thor (0.19.1)
|
88
|
+
tins (1.3.2)
|
76
89
|
|
77
90
|
PLATFORMS
|
78
91
|
ruby
|
79
92
|
|
80
93
|
DEPENDENCIES
|
94
|
+
coveralls
|
81
95
|
debugger
|
82
96
|
flexmock (= 0.8.7)
|
83
97
|
jeweler (~> 2.0)
|
@@ -87,4 +101,3 @@ DEPENDENCIES
|
|
87
101
|
rest-client (~> 1.6)
|
88
102
|
rspec (= 2.9.0)
|
89
103
|
ruby-debug
|
90
|
-
simplecov (= 0.4.2)
|
data/README.md
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# RightScale API Client
|
2
2
|
[](https://travis-ci.org/rightscale/right_api_client)
|
3
|
+
[](https://coveralls.io/r/rightscale/right_api_client?branch=master)
|
3
4
|
|
4
5
|
The right\_api\_client gem simplifies the use of RightScale's MultiCloud API. It provides
|
5
6
|
a simple object model of the API resources, and handles all of the fine details involved
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.5.
|
1
|
+
1.5.22
|
@@ -17,6 +17,7 @@ module RightApi
|
|
17
17
|
@resource_type = resource_type
|
18
18
|
@raw = hash.dup
|
19
19
|
@attributes, @associations, @actions = Set.new, Set.new, Set.new
|
20
|
+
@attributes_with_values = {}
|
20
21
|
|
21
22
|
links = hash.delete('links') || []
|
22
23
|
raw_actions = hash.delete('actions') || []
|
@@ -63,10 +64,11 @@ module RightApi
|
|
63
64
|
|
64
65
|
# Add the rest as instance methods
|
65
66
|
hash.each do |k, v|
|
67
|
+
k = k.to_sym
|
66
68
|
# If a parent resource is requested with a view then it might return
|
67
69
|
# extra data that can be used to build child resources here, without
|
68
70
|
# doing another get request.
|
69
|
-
if associations.include?(k
|
71
|
+
if associations.include?(k)
|
70
72
|
# v might be an array or hash so use include rather than has_key
|
71
73
|
if v.include?('links')
|
72
74
|
child_self_link = v['links'].find { |target| target['rel'] == 'self' }
|
@@ -84,11 +86,18 @@ module RightApi
|
|
84
86
|
end
|
85
87
|
end
|
86
88
|
end
|
89
|
+
else
|
90
|
+
# This is an attribute whose name coincides with the name of a link,
|
91
|
+
# but which isn't actually an embedded subrecource (it has no links
|
92
|
+
# or other media-type decorators). Add it to attributes.
|
93
|
+
attributes << k
|
94
|
+
@attributes_with_values[k] = v
|
87
95
|
end
|
88
96
|
else
|
89
97
|
# Add it to the attributes set and create a method for it
|
90
|
-
attributes << k
|
91
|
-
|
98
|
+
attributes << k
|
99
|
+
@attributes_with_values[k] = v
|
100
|
+
define_instance_method(k) { return @attributes_with_values[k] }
|
92
101
|
end
|
93
102
|
end
|
94
103
|
|
@@ -113,6 +122,18 @@ module RightApi
|
|
113
122
|
self
|
114
123
|
end
|
115
124
|
end
|
125
|
+
|
126
|
+
# Access attributes of this resource in a Hash-like manner. This is useful
|
127
|
+
# in cases where an attribute name coincides with a link name, e.g. a resource
|
128
|
+
# that contains embedded subresources.
|
129
|
+
#
|
130
|
+
# This method can accept String or Symbol attribute names. The data type of the
|
131
|
+
# returned object is unspecified; it could be a String, Integer, Hash, Array or
|
132
|
+
# any other JSON data type. If a Hash is returned, then its keys will always be
|
133
|
+
# String.
|
134
|
+
def [](k)
|
135
|
+
@attributes_with_values[k.to_sym]
|
136
|
+
end
|
116
137
|
|
117
138
|
# Any other method other than standard actions(show,update,destroy)
|
118
139
|
# is simply appended to the href and called with a POST.
|
metadata
CHANGED
@@ -1,146 +1,145 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: right_api_client
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.5.22
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 5
|
9
|
-
- 21
|
10
|
-
version: 1.5.21
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- RightScale, Inc.
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
21
|
-
type: :runtime
|
12
|
+
date: 2014-09-19 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: json
|
23
|
-
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
24
17
|
none: false
|
25
|
-
requirements:
|
18
|
+
requirements:
|
26
19
|
- - ~>
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
segments:
|
30
|
-
- 1
|
31
|
-
- 0
|
32
|
-
version: "1.0"
|
33
|
-
prerelease: false
|
34
|
-
requirement: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '1.0'
|
36
22
|
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
37
31
|
name: mime-types
|
38
|
-
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
39
33
|
none: false
|
40
|
-
requirements:
|
34
|
+
requirements:
|
41
35
|
- - ~>
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
segments:
|
45
|
-
- 1
|
46
|
-
- 0
|
47
|
-
version: "1.0"
|
48
|
-
prerelease: false
|
49
|
-
requirement: *id002
|
50
|
-
- !ruby/object:Gem::Dependency
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '1.0'
|
51
38
|
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '1.0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
52
47
|
name: rest-client
|
53
|
-
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
54
49
|
none: false
|
55
|
-
requirements:
|
50
|
+
requirements:
|
56
51
|
- - ~>
|
57
|
-
- !ruby/object:Gem::Version
|
58
|
-
|
59
|
-
|
60
|
-
- 1
|
61
|
-
- 6
|
62
|
-
version: "1.6"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '1.6'
|
54
|
+
type: :runtime
|
63
55
|
prerelease: false
|
64
|
-
|
65
|
-
|
66
|
-
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.6'
|
62
|
+
- !ruby/object:Gem::Dependency
|
67
63
|
name: rake
|
68
|
-
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
69
65
|
none: false
|
70
|
-
requirements:
|
71
|
-
- -
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
hash: 49
|
74
|
-
segments:
|
75
|
-
- 0
|
76
|
-
- 8
|
77
|
-
- 7
|
66
|
+
requirements:
|
67
|
+
- - '='
|
68
|
+
- !ruby/object:Gem::Version
|
78
69
|
version: 0.8.7
|
79
|
-
prerelease: false
|
80
|
-
requirement: *id004
|
81
|
-
- !ruby/object:Gem::Dependency
|
82
70
|
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - '='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 0.8.7
|
78
|
+
- !ruby/object:Gem::Dependency
|
83
79
|
name: rspec
|
84
|
-
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
85
81
|
none: false
|
86
|
-
requirements:
|
87
|
-
- -
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
hash: 43
|
90
|
-
segments:
|
91
|
-
- 2
|
92
|
-
- 9
|
93
|
-
- 0
|
82
|
+
requirements:
|
83
|
+
- - '='
|
84
|
+
- !ruby/object:Gem::Version
|
94
85
|
version: 2.9.0
|
95
|
-
prerelease: false
|
96
|
-
requirement: *id005
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
86
|
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - '='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 2.9.0
|
94
|
+
- !ruby/object:Gem::Dependency
|
99
95
|
name: flexmock
|
100
|
-
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
101
97
|
none: false
|
102
|
-
requirements:
|
103
|
-
- -
|
104
|
-
- !ruby/object:Gem::Version
|
105
|
-
hash: 49
|
106
|
-
segments:
|
107
|
-
- 0
|
108
|
-
- 8
|
109
|
-
- 7
|
98
|
+
requirements:
|
99
|
+
- - '='
|
100
|
+
- !ruby/object:Gem::Version
|
110
101
|
version: 0.8.7
|
111
|
-
prerelease: false
|
112
|
-
requirement: *id006
|
113
|
-
- !ruby/object:Gem::Dependency
|
114
102
|
type: :development
|
115
|
-
|
116
|
-
version_requirements:
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
117
105
|
none: false
|
118
|
-
requirements:
|
119
|
-
- -
|
120
|
-
- !ruby/object:Gem::Version
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
106
|
+
requirements:
|
107
|
+
- - '='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 0.8.7
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: coveralls
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
127
119
|
prerelease: false
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
description: ! '
|
127
|
+
|
128
|
+
The right_api_client gem simplifies the use of RightScale''s MultiCloud API.
|
129
|
+
|
132
130
|
It provides a simple object model of the API resources, and handles all of the
|
131
|
+
|
133
132
|
fine details involved in making HTTP calls and translating their responses.
|
134
133
|
|
134
|
+
'
|
135
135
|
email: rubygems@rightscale.com
|
136
136
|
executables: []
|
137
|
-
|
138
137
|
extensions: []
|
139
|
-
|
140
|
-
extra_rdoc_files:
|
138
|
+
extra_rdoc_files:
|
141
139
|
- LICENSE.txt
|
142
140
|
- README.md
|
143
|
-
files:
|
141
|
+
files:
|
142
|
+
- .coveralls.yml
|
144
143
|
- .travis.yml
|
145
144
|
- CHANGELOG.md
|
146
145
|
- Gemfile
|
@@ -161,37 +160,31 @@ files:
|
|
161
160
|
- login_to_client_irb.rb
|
162
161
|
- right_api_client.rconf
|
163
162
|
homepage: https://github.com/rightscale/right_api_client
|
164
|
-
licenses:
|
163
|
+
licenses:
|
165
164
|
- MIT
|
166
165
|
post_install_message:
|
167
166
|
rdoc_options: []
|
168
|
-
|
169
|
-
require_paths:
|
167
|
+
require_paths:
|
170
168
|
- lib
|
171
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
169
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
172
170
|
none: false
|
173
|
-
requirements:
|
174
|
-
- -
|
175
|
-
- !ruby/object:Gem::Version
|
176
|
-
|
177
|
-
segments:
|
171
|
+
requirements:
|
172
|
+
- - ! '>='
|
173
|
+
- !ruby/object:Gem::Version
|
174
|
+
version: '0'
|
175
|
+
segments:
|
178
176
|
- 0
|
179
|
-
|
180
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
177
|
+
hash: -3655721947136781612
|
178
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
181
179
|
none: false
|
182
|
-
requirements:
|
183
|
-
- -
|
184
|
-
- !ruby/object:Gem::Version
|
185
|
-
|
186
|
-
segments:
|
187
|
-
- 0
|
188
|
-
version: "0"
|
180
|
+
requirements:
|
181
|
+
- - ! '>='
|
182
|
+
- !ruby/object:Gem::Version
|
183
|
+
version: '0'
|
189
184
|
requirements: []
|
190
|
-
|
191
185
|
rubyforge_project:
|
192
|
-
rubygems_version: 1.8.
|
186
|
+
rubygems_version: 1.8.23
|
193
187
|
signing_key:
|
194
188
|
specification_version: 3
|
195
189
|
summary: RightScale MultiCloud API HTTP Client
|
196
190
|
test_files: []
|
197
|
-
|