megam_api 1.50.5 → 1.50.6
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.
- checksums.yaml +4 -4
- data/lib/megam/api.rb +3 -0
- data/lib/megam/api/marketplaces.rb +19 -0
- data/lib/megam/api/rawimages.rb +36 -0
- data/lib/megam/api/version.rb +1 -1
- data/lib/megam/core/json_compat.rb +6 -0
- data/lib/megam/core/marketplace.rb +89 -15
- data/lib/megam/core/rawimages.rb +194 -0
- data/lib/megam/core/rawimages_collection.rb +121 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 34c06c46af5e5bed95d65b68ead862211ba0e90a
|
4
|
+
data.tar.gz: 0137f6f56614622d70385cb6b331ecb6842b7bb5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6a17da822d8ea782a02b886aac4682fe8975a5bd37bb145c65d2dea495518e54ff62ace35d8cd4aa844eacf7ee36659c97de67399539cf4f8244b984296e9976
|
7
|
+
data.tar.gz: 2932dc22f13586a8bd33e25c757e0a4ce23f63533f9ec20f11619463a8528ecf7f71fc9edcb15d5f16ff1ebf3d3f1a525d29d89a1b1038ca3a8fd870dcde4f37
|
data/lib/megam/api.rb
CHANGED
@@ -34,6 +34,7 @@ require 'megam/api/snapshots'
|
|
34
34
|
require 'megam/api/backups'
|
35
35
|
require 'megam/api/reports'
|
36
36
|
require 'megam/api/quotas'
|
37
|
+
require 'megam/api/rawimages'
|
37
38
|
require 'megam/api/disks'
|
38
39
|
require 'megam/api/subscriptions'
|
39
40
|
require 'megam/api/addons'
|
@@ -95,6 +96,8 @@ require 'megam/core/reports'
|
|
95
96
|
require 'megam/core/reports_collection'
|
96
97
|
require 'megam/core/quotas'
|
97
98
|
require 'megam/core/quotas_collection'
|
99
|
+
require 'megam/core/rawimages'
|
100
|
+
require 'megam/core/rawimages_collection'
|
98
101
|
require 'megam/core/disks'
|
99
102
|
require 'megam/core/disks_collection'
|
100
103
|
require 'megam/core/balances_collection'
|
@@ -21,6 +21,25 @@ module Megam
|
|
21
21
|
)
|
22
22
|
end
|
23
23
|
|
24
|
+
def get_marketplaceprovider(provider)
|
25
|
+
@options = {:path => "/marketplaces/p/#{provider}" ,:body => ""}.merge(@options)
|
26
|
+
|
27
|
+
request(
|
28
|
+
:expects => 200,
|
29
|
+
:method => :get,
|
30
|
+
:body => @options[:body]
|
31
|
+
)
|
32
|
+
end
|
33
|
+
|
34
|
+
def get_marketplaceflavor(flavor)
|
35
|
+
@options = {:path => "/marketplaces/f/#{flavor}",:body => ""}.merge(@options)
|
36
|
+
request(
|
37
|
+
:expects => 200,
|
38
|
+
:method => :get,
|
39
|
+
:body => @options[:body]
|
40
|
+
)
|
41
|
+
end
|
42
|
+
|
24
43
|
def post_marketplaceapp(catitem)
|
25
44
|
@options = {:path => '/marketplaces/content',
|
26
45
|
:body => Megam::JSONCompat.to_json(catitem)}.merge(@options)
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Megam
|
2
|
+
class API
|
3
|
+
|
4
|
+
def get_one_rawimage(name)
|
5
|
+
@options = { path: "/rawimages/#{name}", body: '' }.merge(@options)
|
6
|
+
|
7
|
+
request(
|
8
|
+
expects: 200,
|
9
|
+
method: :get,
|
10
|
+
body: @options[:body]
|
11
|
+
)
|
12
|
+
end
|
13
|
+
|
14
|
+
def list_rawimages
|
15
|
+
@options = {:path => "/rawimages",:body => ""}.merge(@options)
|
16
|
+
|
17
|
+
request(
|
18
|
+
:expects => 200,
|
19
|
+
:method => :get,
|
20
|
+
:body => @options[:body]
|
21
|
+
)
|
22
|
+
end
|
23
|
+
|
24
|
+
def post_rawimages(rawimage_item)
|
25
|
+
@options = {:path => '/rawimages/content',
|
26
|
+
:body => Megam::JSONCompat.to_json(rawimage_item)}.merge(@options)
|
27
|
+
|
28
|
+
request(
|
29
|
+
:expects => 201,
|
30
|
+
:method => :post,
|
31
|
+
:body => @options[:body]
|
32
|
+
)
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
end
|
data/lib/megam/api/version.rb
CHANGED
@@ -66,6 +66,8 @@ module Megam
|
|
66
66
|
MEGAM_REPORTSCOLLECTION = 'Megam::ReportsCollection'.freeze
|
67
67
|
MEGAM_QUOTAS = 'Megam::Quotas'.freeze
|
68
68
|
MEGAM_QUOTASCOLLECTION = 'Megam::QuotasCollection'.freeze
|
69
|
+
MEGAM_RAWIMAGES = 'Megam::Rawimages'.freeze
|
70
|
+
MEGAM_RAWIMAGESCOLLECTION = 'Megam::RawimagesCollection'.freeze
|
69
71
|
MEGAM_PROMOS = 'Megam::Promos'.freeze
|
70
72
|
|
71
73
|
|
@@ -260,6 +262,10 @@ module Megam
|
|
260
262
|
Megam::Quotas
|
261
263
|
when MEGAM_QUOTASCOLLECTION
|
262
264
|
Megam::QuotasCollection
|
265
|
+
when MEGAM_RAWIMAGES
|
266
|
+
Megam::Rawimages
|
267
|
+
when MEGAM_RAWIMAGESCOLLECTION
|
268
|
+
Megam::RawimagesCollection
|
263
269
|
when MEGAM_PROMOS
|
264
270
|
Megam::Promos
|
265
271
|
else
|
@@ -2,16 +2,21 @@ module Megam
|
|
2
2
|
class MarketPlace < Megam::RestAdapter
|
3
3
|
def initialize(o)
|
4
4
|
@id = nil
|
5
|
-
@
|
5
|
+
@provided_by = nil
|
6
6
|
@cattype = nil
|
7
|
+
@catorder = nil
|
8
|
+
@status = nil
|
7
9
|
@flavor = nil
|
8
10
|
@image = nil
|
9
|
-
@catorder = nil
|
10
11
|
@url = nil
|
11
12
|
@envs = []
|
12
13
|
@options = []
|
13
|
-
@
|
14
|
+
@inputs = []
|
15
|
+
@outputs = []
|
16
|
+
@acl_policies = []
|
17
|
+
@plans = []
|
14
18
|
@created_at = nil
|
19
|
+
@updated_at = nil
|
15
20
|
super(o)
|
16
21
|
end
|
17
22
|
|
@@ -19,11 +24,11 @@ module Megam
|
|
19
24
|
self
|
20
25
|
end
|
21
26
|
|
22
|
-
def
|
27
|
+
def provided_by(arg = nil)
|
23
28
|
if !arg.nil?
|
24
|
-
@
|
29
|
+
@provided_by = arg
|
25
30
|
else
|
26
|
-
@
|
31
|
+
@provided_by
|
27
32
|
end
|
28
33
|
end
|
29
34
|
|
@@ -35,8 +40,8 @@ module Megam
|
|
35
40
|
end
|
36
41
|
end
|
37
42
|
|
38
|
-
def plans(arg =
|
39
|
-
if
|
43
|
+
def plans(arg = [])
|
44
|
+
if arg != []
|
40
45
|
@plans = arg
|
41
46
|
else
|
42
47
|
@plans
|
@@ -99,6 +104,38 @@ module Megam
|
|
99
104
|
end
|
100
105
|
end
|
101
106
|
|
107
|
+
def inputs(arg = [])
|
108
|
+
if arg != []
|
109
|
+
@inputs = arg
|
110
|
+
else
|
111
|
+
@inputs
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
def outputs(arg = [])
|
116
|
+
if arg != []
|
117
|
+
@outputs = arg
|
118
|
+
else
|
119
|
+
@outputs
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
def status(arg = [])
|
124
|
+
if arg != []
|
125
|
+
@status = arg
|
126
|
+
else
|
127
|
+
@status
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
def acl_policies(arg = [])
|
132
|
+
if arg != []
|
133
|
+
@acl_policies = arg
|
134
|
+
else
|
135
|
+
@acl_policies
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
102
139
|
def created_at(arg = nil)
|
103
140
|
if !arg.nil?
|
104
141
|
@created_at = arg
|
@@ -107,6 +144,14 @@ module Megam
|
|
107
144
|
end
|
108
145
|
end
|
109
146
|
|
147
|
+
def updated_at(arg = nil)
|
148
|
+
if !arg.nil?
|
149
|
+
@updated_at = arg
|
150
|
+
else
|
151
|
+
@updated_at
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
110
155
|
def some_msg(arg = nil)
|
111
156
|
if !arg.nil?
|
112
157
|
@some_msg = arg
|
@@ -124,7 +169,7 @@ module Megam
|
|
124
169
|
index_hash = {}
|
125
170
|
index_hash['json_claz'] = self.class.name
|
126
171
|
index_hash['id'] = id
|
127
|
-
index_hash['
|
172
|
+
index_hash['provided_by'] = provided_by
|
128
173
|
index_hash['cattype'] = cattype
|
129
174
|
index_hash['flavor'] = flavor
|
130
175
|
index_hash['image'] = image
|
@@ -134,6 +179,11 @@ module Megam
|
|
134
179
|
index_hash['options'] = options
|
135
180
|
index_hash['plans'] = plans
|
136
181
|
index_hash['created_at'] = created_at
|
182
|
+
index_hash['updated_at'] = updated_at
|
183
|
+
index_hash['status'] = status
|
184
|
+
index_hash['inputs'] = inputs
|
185
|
+
index_hash['outputs'] = outputs
|
186
|
+
index_hash['acl_policies'] = acl_policies
|
137
187
|
index_hash
|
138
188
|
end
|
139
189
|
|
@@ -146,7 +196,7 @@ module Megam
|
|
146
196
|
def for_json
|
147
197
|
result = {
|
148
198
|
'id' => id,
|
149
|
-
'
|
199
|
+
'provided_by' => provided_by,
|
150
200
|
'cattype' => cattype,
|
151
201
|
'flavor' => flavor,
|
152
202
|
'image' => image,
|
@@ -155,7 +205,12 @@ module Megam
|
|
155
205
|
'envs' => envs,
|
156
206
|
'options' => options,
|
157
207
|
'plans' => plans,
|
158
|
-
'created_at' => created_at
|
208
|
+
'created_at' => created_at,
|
209
|
+
'updated_at' => updated_at,
|
210
|
+
'status' => status,
|
211
|
+
'inputs' => inputs,
|
212
|
+
'outputs' => outputs,
|
213
|
+
'acl_policies' => acl_policies
|
159
214
|
}
|
160
215
|
result
|
161
216
|
end
|
@@ -163,7 +218,7 @@ module Megam
|
|
163
218
|
def self.json_create(o)
|
164
219
|
app = new({})
|
165
220
|
app.id(o['id']) if o.key?('id')
|
166
|
-
app.
|
221
|
+
app.provided_by(o['provided_by']) if o.key?('provided_by')
|
167
222
|
app.cattype(o['cattype']) if o.key?('cattype')
|
168
223
|
app.flavor(o['flavor']) if o.key?('flavor')
|
169
224
|
app.image(o['image']) if o.key?('image')
|
@@ -173,7 +228,11 @@ module Megam
|
|
173
228
|
app.options(o['options']) if o.key?('options')
|
174
229
|
app.plans(o['plans']) if o.key?('plans')
|
175
230
|
app.created_at(o['created_at']) if o.key?('created_at')
|
176
|
-
|
231
|
+
app.updated_at(o['updated_at']) if o.key?('updated_at')
|
232
|
+
app.inputs(o['inputs']) if o.key?('inputs')
|
233
|
+
app.outputs(o['outputs']) if o.key?('outputs')
|
234
|
+
app.status(o['status']) if o.key?('status')
|
235
|
+
app.acl_policies(o['acl_policies']) if o.key?('acl_policies')
|
177
236
|
app
|
178
237
|
end
|
179
238
|
|
@@ -184,17 +243,22 @@ module Megam
|
|
184
243
|
end
|
185
244
|
|
186
245
|
def from_hash(o)
|
187
|
-
@
|
246
|
+
@provided_by = o['provided_by'] if o.key?('provided_by')
|
188
247
|
@id = o['id'] if o.key?('id')
|
189
248
|
@cattype = o['cattype'] if o.key?('cattype')
|
190
249
|
@flavor = o['flavor'] if o.key?('flavor')
|
191
250
|
@image = o['image'] if o.key?('image')
|
192
|
-
@catorder
|
251
|
+
@catorder = o['catorder'] if o.key?('catorder')
|
193
252
|
@url = o['url'] if o.key?('url')
|
194
253
|
@envs = o['envs'] if o.key?('envs')
|
195
254
|
@options = o['options'] if o.key?('options')
|
196
255
|
@plans = o['plans'] if o.key?('plans')
|
197
256
|
@created_at = o['created_at'] if o.key?('created_at')
|
257
|
+
@updated_at = o['updated_at'] if o.key?('updated_at')
|
258
|
+
@status = o['status'] if o.key?('status')
|
259
|
+
@inputs = o['inputs'] if o.key?('inputs')
|
260
|
+
@outputs = o['outputs'] if o.key?('outputs')
|
261
|
+
@acl_policies = o['acl_policies'] if o.key?('acl_policies')
|
198
262
|
self
|
199
263
|
end
|
200
264
|
|
@@ -219,6 +283,16 @@ module Megam
|
|
219
283
|
app.megam_rest.get_marketplaceapps
|
220
284
|
end
|
221
285
|
|
286
|
+
def self.list_provider(params)
|
287
|
+
app = new(params)
|
288
|
+
app.megam_rest.get_marketplaceprovider(params['provider'])
|
289
|
+
end
|
290
|
+
|
291
|
+
def self.list_flavor(params)
|
292
|
+
app = new(params)
|
293
|
+
app.megam_rest.get_marketplaceflavor(params['flavor'])
|
294
|
+
end
|
295
|
+
|
222
296
|
def to_s
|
223
297
|
Megam::Stuff.styled_hash(to_hash)
|
224
298
|
# "---> Megam::Account:[error=#{error?}]\n"+
|
@@ -0,0 +1,194 @@
|
|
1
|
+
module Megam
|
2
|
+
class Rawimages < Megam::RestAdapter
|
3
|
+
def initialize(o)
|
4
|
+
@id = nil
|
5
|
+
@account_id = nil
|
6
|
+
@name = nil
|
7
|
+
@repos = nil
|
8
|
+
@status = nil
|
9
|
+
@inputs = []
|
10
|
+
@created_at = nil
|
11
|
+
@updated_at = nil
|
12
|
+
@org_id = nil
|
13
|
+
super(o)
|
14
|
+
end
|
15
|
+
|
16
|
+
def rawimages
|
17
|
+
self
|
18
|
+
end
|
19
|
+
|
20
|
+
def id(arg = nil)
|
21
|
+
if !arg.nil?
|
22
|
+
@id = arg
|
23
|
+
else
|
24
|
+
@id
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def name(arg = nil)
|
29
|
+
if !arg.nil?
|
30
|
+
@name = arg
|
31
|
+
else
|
32
|
+
@name
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def account_id(arg=nil)
|
37
|
+
if arg != nil
|
38
|
+
@account_id = arg
|
39
|
+
else
|
40
|
+
@account_id
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def repos(arg = nil)
|
45
|
+
if !arg.nil?
|
46
|
+
@repos = arg
|
47
|
+
else
|
48
|
+
@repos
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def inputs(arg = [])
|
53
|
+
if arg != []
|
54
|
+
@inputs = arg
|
55
|
+
else
|
56
|
+
@inputs
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
def status(arg = nil)
|
61
|
+
if !arg.nil?
|
62
|
+
@status = arg
|
63
|
+
else
|
64
|
+
@status
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
def created_at(arg = nil)
|
69
|
+
if !arg.nil?
|
70
|
+
@created_at = arg
|
71
|
+
else
|
72
|
+
@created_at
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
def updated_at(arg = nil)
|
77
|
+
if !arg.nil?
|
78
|
+
@updated_at = arg
|
79
|
+
else
|
80
|
+
@updated_at
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
def org_id(arg = nil)
|
85
|
+
if !arg.nil?
|
86
|
+
@org_id = arg
|
87
|
+
else
|
88
|
+
@org_id
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
def error?
|
93
|
+
crocked = true if some_msg.key?(:msg_type) && some_msg[:msg_type] == 'error'
|
94
|
+
end
|
95
|
+
|
96
|
+
# Transform the ruby obj -> to a Hash
|
97
|
+
def to_hash
|
98
|
+
index_hash = {}
|
99
|
+
index_hash['json_claz'] = self.class.name
|
100
|
+
index_hash['id'] = id
|
101
|
+
index_hash['org_id'] = org_id
|
102
|
+
index_hash["account_id"] = account_id
|
103
|
+
index_hash['name'] = name
|
104
|
+
index_hash['repos'] = repos
|
105
|
+
index_hash['status'] = status
|
106
|
+
index_hash['inputs'] = inputs
|
107
|
+
index_hash['created_at'] = created_at
|
108
|
+
index_hash['updated_at'] = updated_at
|
109
|
+
index_hash
|
110
|
+
end
|
111
|
+
|
112
|
+
# Serialize this object as a hash: called from JsonCompat.
|
113
|
+
# Verify if this called from JsonCompat during testing.
|
114
|
+
def to_json(*a)
|
115
|
+
for_json.to_json(*a)
|
116
|
+
end
|
117
|
+
|
118
|
+
def for_json
|
119
|
+
result = {
|
120
|
+
'id' => id,
|
121
|
+
'account_id' => account_id,
|
122
|
+
'name' => name,
|
123
|
+
'org_id' => org_id,
|
124
|
+
'repos' => repos,
|
125
|
+
'inputs' => inputs,
|
126
|
+
'status' => status,
|
127
|
+
'created_at' => created_at,
|
128
|
+
'updated_at' => updated_at
|
129
|
+
}
|
130
|
+
|
131
|
+
result
|
132
|
+
end
|
133
|
+
|
134
|
+
def self.json_create(o)
|
135
|
+
quo = new({})
|
136
|
+
quo.id(o['id']) if o.key?('id')
|
137
|
+
quo.org_id(o['org_id']) if o.key?('org_id')
|
138
|
+
quo.account_id(o["account_id"]) if o.has_key?("account_id")
|
139
|
+
quo.name(o['name']) if o.key?('name')
|
140
|
+
quo.repos(o['repos']) if o.key?('repos')
|
141
|
+
quo.inputs(o['inputs']) if o.key?('inputs')
|
142
|
+
quo.status(o['status']) if o.key?('status')
|
143
|
+
quo.created_at(o['created_at']) if o.key?('created_at')
|
144
|
+
quo.updated_at(o['updated_at']) if o.key?('updated_at')
|
145
|
+
quo
|
146
|
+
end
|
147
|
+
|
148
|
+
def self.from_hash(o)
|
149
|
+
quo = new(o)
|
150
|
+
quo.from_hash(o)
|
151
|
+
quo
|
152
|
+
end
|
153
|
+
|
154
|
+
def from_hash(o)
|
155
|
+
@id = o['id'] if o.key?('id')
|
156
|
+
@org_id = o['org_id'] if o.key?('org_id')
|
157
|
+
@account_id = o["account_id"] if o.has_key?("account_id")
|
158
|
+
@name = o['name'] if o.key?('name')
|
159
|
+
@region = o['region'] if o.key?('region')
|
160
|
+
@repos = o['repos'] if o.key?('repos')
|
161
|
+
@inputs = o['inputs'] if o.key?('inputs')
|
162
|
+
@status = o['status'] if o.key?('status')
|
163
|
+
@created_at = o['created_at'] if o.key?('created_at')
|
164
|
+
@updated_at = o['updated_at'] if o.key?('updated_at')
|
165
|
+
self
|
166
|
+
end
|
167
|
+
|
168
|
+
|
169
|
+
def self.show(params)
|
170
|
+
quo = new(params)
|
171
|
+
quo.megam_rest.get_one_rawimage(params['id'])
|
172
|
+
end
|
173
|
+
|
174
|
+
def self.list(params)
|
175
|
+
quo = self.new(params)
|
176
|
+
quo.megam_rest.list_rawimages
|
177
|
+
end
|
178
|
+
|
179
|
+
def self.create(params)
|
180
|
+
quo = from_hash(params)
|
181
|
+
quo.create
|
182
|
+
end
|
183
|
+
|
184
|
+
def create
|
185
|
+
megam_rest.post_rawimages(to_hash)
|
186
|
+
end
|
187
|
+
|
188
|
+
# Create the node via the REST API
|
189
|
+
|
190
|
+
def to_s
|
191
|
+
Megam::Stuff.styled_hash(to_hash)
|
192
|
+
end
|
193
|
+
end
|
194
|
+
end
|
@@ -0,0 +1,121 @@
|
|
1
|
+
module Megam
|
2
|
+
class RawimagesCollection
|
3
|
+
include Enumerable
|
4
|
+
|
5
|
+
attr_reader :iterator
|
6
|
+
def initialize
|
7
|
+
@rawimages = Array.new
|
8
|
+
@rawimages_by_name = Hash.new
|
9
|
+
@insert_after_idx = nil
|
10
|
+
end
|
11
|
+
|
12
|
+
def all_rawimages
|
13
|
+
@rawimages
|
14
|
+
end
|
15
|
+
|
16
|
+
def [](index)
|
17
|
+
@rawimages[index]
|
18
|
+
end
|
19
|
+
|
20
|
+
def []=(index, arg)
|
21
|
+
is_megam_rawimages(arg)
|
22
|
+
@rawimages[index] = arg
|
23
|
+
@rawimages_by_name[arg.id] = index
|
24
|
+
end
|
25
|
+
|
26
|
+
def <<(*args)
|
27
|
+
args.flatten.each do |a|
|
28
|
+
is_megam_rawimages(a)
|
29
|
+
@rawimages << a
|
30
|
+
@rawimages_by_name[a.id] = @rawimages.length - 1
|
31
|
+
end
|
32
|
+
self
|
33
|
+
end
|
34
|
+
|
35
|
+
# 'push' is an alias method to <<
|
36
|
+
alias_method :push, :<<
|
37
|
+
|
38
|
+
def insert(rawimages)
|
39
|
+
is_megam_rawimages(rawimages)
|
40
|
+
if @insert_after_idx
|
41
|
+
# in the middle of executing a run, so any nodes inserted now should
|
42
|
+
# be placed after the most recent addition done by the currently executing
|
43
|
+
# node
|
44
|
+
@rawimages.insert(@insert_after_idx + 1, rawimages)
|
45
|
+
# update name -> location mappings and register new node
|
46
|
+
@rawimages_by_name.each_key do |key|
|
47
|
+
@rawimages_by_name[key] += 1 if @rawimages_by_name[key] > @insert_after_idx
|
48
|
+
end
|
49
|
+
@rawimages_by_name[rawimages.id] = @insert_after_idx + 1
|
50
|
+
@insert_after_idx += 1
|
51
|
+
else
|
52
|
+
@rawimages << rawimages
|
53
|
+
@rawimages_by_name[rawimages.id] = @rawimages.length - 1
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def each
|
58
|
+
@rawimages.each do |rawimages|
|
59
|
+
yield rawimages
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def each_index
|
64
|
+
@rawimages.each_index do |i|
|
65
|
+
yield i
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
def empty?
|
70
|
+
@rawimages.empty?
|
71
|
+
end
|
72
|
+
|
73
|
+
def lookup(rawimages)
|
74
|
+
lookup_by = nil
|
75
|
+
if rawimages.kind_of?(Megam::Rawimages)
|
76
|
+
lookup_by = rawimages.id
|
77
|
+
elsif rawimages.kind_of?(String)
|
78
|
+
lookup_by = rawimages
|
79
|
+
else
|
80
|
+
raise ArgumentError, "Must pass a Megam::Rawimages or String to lookup"
|
81
|
+
end
|
82
|
+
res = @rawimages_by_name[lookup_by]
|
83
|
+
unless res
|
84
|
+
raise ArgumentError, "Cannot find a node matching #{lookup_by} (did you define it first?)"
|
85
|
+
end
|
86
|
+
@rawimages[res]
|
87
|
+
end
|
88
|
+
|
89
|
+
def to_s
|
90
|
+
@rawimages.join(", ")
|
91
|
+
end
|
92
|
+
|
93
|
+
def for_json
|
94
|
+
to_a.map { |item| item.to_s }
|
95
|
+
end
|
96
|
+
|
97
|
+
def to_json(*a)
|
98
|
+
Megam::JSONCompat.to_json(for_json, *a)
|
99
|
+
end
|
100
|
+
|
101
|
+
def self.json_create(o)
|
102
|
+
collection = self.new()
|
103
|
+
o["results"].each do |rawimages_list|
|
104
|
+
rawimages_array = rawimages_list.kind_of?(Array) ? rawimages_list : [ rawimages_list ]
|
105
|
+
rawimages_array.each do |rawimages|
|
106
|
+
collection.insert(rawimages)
|
107
|
+
end
|
108
|
+
end
|
109
|
+
collection
|
110
|
+
end
|
111
|
+
|
112
|
+
private
|
113
|
+
|
114
|
+
def is_megam_rawimages(arg)
|
115
|
+
unless arg.kind_of?(Megam::Rawimages)
|
116
|
+
raise ArgumentError, "Members must be Megam::Rawimages's"
|
117
|
+
end
|
118
|
+
true
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: megam_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.50.
|
4
|
+
version: 1.50.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rajthilak, Kishorekumar Neelamegam, Ranjitha R, Vinodhini V, Rathish VBR, Rajesh
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-02-
|
12
|
+
date: 2017-02-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: excon
|
@@ -159,6 +159,7 @@ files:
|
|
159
159
|
- lib/megam/api/organizations.rb
|
160
160
|
- lib/megam/api/promos.rb
|
161
161
|
- lib/megam/api/quotas.rb
|
162
|
+
- lib/megam/api/rawimages.rb
|
162
163
|
- lib/megam/api/reports.rb
|
163
164
|
- lib/megam/api/requests.rb
|
164
165
|
- lib/megam/api/sensors.rb
|
@@ -214,6 +215,8 @@ files:
|
|
214
215
|
- lib/megam/core/promos.rb
|
215
216
|
- lib/megam/core/quotas.rb
|
216
217
|
- lib/megam/core/quotas_collection.rb
|
218
|
+
- lib/megam/core/rawimages.rb
|
219
|
+
- lib/megam/core/rawimages_collection.rb
|
217
220
|
- lib/megam/core/reports.rb
|
218
221
|
- lib/megam/core/reports_collection.rb
|
219
222
|
- lib/megam/core/request.rb
|