megam_api 1.51.4 → 1.52.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9633a1172c45ba2b58404c1657fcb3268676187b
4
- data.tar.gz: c0c756b03717a9408819e23e21a90ccfd4e5f2e5
3
+ metadata.gz: 82f4868b44b3471243d6f35f4b2773fb070b4af5
4
+ data.tar.gz: 7b8847bce125c0ce9c4be38fdf0e7e8c2315022d
5
5
  SHA512:
6
- metadata.gz: caff5830e7363ef48793c3e2a07b7a3412bb8e1d41421bf00495bb5a5b6840e80f474249f7fd0220a862531d7422a5df4cfab23dae35be0f8dfb8825d390f61e
7
- data.tar.gz: d76cb4b905a0e826cc0116af77a55b0261f8dffe844c1a939ceb1dd7d3669a178a4c6aa22b823d5c040e314be19d76a8a41f183f8ff5ccf5d60efeb4639eb681
6
+ metadata.gz: b1b17c64e80d7dbfc7e80f202c3f766d30ec63037fa951d39e7801f6882c147d4150137f9d6a9bd9600fda9f9c3245a75be0787210178194aa0ca5d7d062f03a
7
+ data.tar.gz: 197de5554d26ea8a291ed7c197f0edf5a49f671508ec4a0cdbd4264c17b67407ed26f789f1eb7d17d977c3da5b206f9195ca7b2e9b25f1209155e60c9a286e42
data/lib/megam/api.rb CHANGED
@@ -26,8 +26,9 @@ require 'megam/api/sensors'
26
26
  require 'megam/api/sshkeys'
27
27
  require 'megam/api/eventsall'
28
28
  require 'megam/api/eventsvm'
29
- require 'megam/api/eventsmarketplaces'
29
+ require 'megam/api/eventsmarketplace'
30
30
  require 'megam/api/license'
31
+ require 'megam/api/flavors'
31
32
  require 'megam/api/eventscontainer'
32
33
  require 'megam/api/eventsbilling'
33
34
  require 'megam/api/eventsstorage'
@@ -62,14 +63,16 @@ require 'megam/core/request'
62
63
  require 'megam/core/request_collection'
63
64
  require 'megam/core/license'
64
65
  require 'megam/core/license_collection'
66
+ require 'megam/core/flavors'
67
+ require 'megam/core/flavors_collection'
65
68
  require 'megam/core/sshkey'
66
69
  require 'megam/core/sshkey_collection'
67
70
  require 'megam/core/eventsall'
68
71
  require 'megam/core/eventsall_collection'
69
72
  require 'megam/core/eventsvm'
70
73
  require 'megam/core/eventsvm_collection'
71
- require 'megam/core/eventsmarketplaces'
72
- require 'megam/core/eventsmarketplaces_collection'
74
+ require 'megam/core/eventsmarketplace'
75
+ require 'megam/core/eventsmarketplace_collection'
73
76
  require 'megam/core/eventscontainer'
74
77
  require 'megam/core/eventscontainer_collection'
75
78
  require 'megam/core/eventsbilling'
@@ -1,8 +1,8 @@
1
1
  module Megam
2
2
  class API
3
3
  # GET /nodes
4
- def list_eventsMarketplaces(limit)
5
- @options = {:path => "/eventsmarketplaces/#{limit}",:body => ""}.merge(@options)
4
+ def list_eventsMarketplace(limit)
5
+ @options = {:path => "/eventsmarketplace/#{limit}",:body => ""}.merge(@options)
6
6
 
7
7
  request(
8
8
  :expects => 200,
@@ -12,8 +12,8 @@ module Megam
12
12
  end
13
13
 
14
14
 
15
- def get_eventsMarketplaces(limit, new_events)
16
- @options = {:path => "/eventsmarketplaces/show/#{limit}",
15
+ def get_eventsMarketplace(limit, new_events)
16
+ @options = {:path => "/eventsmarketplace/show/#{limit}",
17
17
  :body => Megam::JSONCompat.to_json(new_events)}.merge(@options)
18
18
  request(
19
19
  :expects => 200,
@@ -22,8 +22,8 @@ module Megam
22
22
  )
23
23
  end
24
24
 
25
- def index_eventsMarketplaces
26
- @options = {:path => "/eventsmarketplaces",:body => ""}.merge(@options)
25
+ def index_eventsMarketplace
26
+ @options = {:path => "/eventsmarketplace",:body => ""}.merge(@options)
27
27
 
28
28
  request(
29
29
  :expects => 200,
@@ -0,0 +1,56 @@
1
+ module Megam
2
+ class API
3
+
4
+ def get_flavors()
5
+ @options = {:path => "/flavors",:body => ""}.merge(@options)
6
+ request(
7
+ :expects => 200,
8
+ :method => :get,
9
+ :body => @options[:body]
10
+ )
11
+ end
12
+
13
+ def get_one_flavor(name)
14
+ @options = { path: "/flavors/#{name}", body: '' }.merge(@options)
15
+
16
+ request(
17
+ expects: 200,
18
+ method: :get,
19
+ body: @options[:body]
20
+ )
21
+ end
22
+
23
+ def post_flavors(new_flavors)
24
+ @options = {:path => "/flavors/content",
25
+ :body => Megam::JSONCompat.to_json(new_flavors)}.merge(@options)
26
+ request(
27
+ :expects => 201,
28
+ :method => :post,
29
+ :body => @options[:body]
30
+ )
31
+ end
32
+
33
+ def update_flavors(update_flavors)
34
+ @options = {:path => '/flavors/update',
35
+ :body => Megam::JSONCompat.to_json(update_flavors)}.merge(@options)
36
+
37
+ request(
38
+ :expects => 201,
39
+ :method => :post,
40
+ :body => @options[:body]
41
+ )
42
+ end
43
+
44
+ def delete_flavors(delete_flavors)
45
+ @options = {path: "/flavors/#{delete_flavors["name"]}",
46
+ :body => ''}.merge(@options)
47
+
48
+ request(
49
+ :expects => 200,
50
+ :method => :delete,
51
+ :body => @options[:body]
52
+ )
53
+ end
54
+
55
+ end
56
+ end
@@ -1,5 +1,5 @@
1
1
  module Megam
2
2
  class API
3
- VERSION = "1.51.4"
3
+ VERSION = "1.52.1"
4
4
  end
5
5
  end
@@ -1,8 +1,8 @@
1
1
  module Megam
2
- class EventsMarketplaces < Megam::RestAdapter
2
+ class EventsMarketplace < Megam::RestAdapter
3
3
  def initialize(o)
4
4
  @account_id = nil
5
- @assembly_id = nil
5
+ @marketplace_id = nil
6
6
  @event_type = nil
7
7
  @data = []
8
8
  @created_at = nil
@@ -12,7 +12,7 @@ module Megam
12
12
  super(o)
13
13
  end
14
14
 
15
- def eventsMarketplaces
15
+ def eventsmarketplace
16
16
  self
17
17
  end
18
18
 
@@ -32,11 +32,11 @@ module Megam
32
32
  end
33
33
  end
34
34
 
35
- def assembly_id(arg=nil)
35
+ def marketplace_id(arg=nil)
36
36
  if arg != nil
37
- @assembly_id = arg
37
+ @marketplace_id = arg
38
38
  else
39
- @assembly_id
39
+ @marketplace_id
40
40
  end
41
41
  end
42
42
 
@@ -91,7 +91,7 @@ module Megam
91
91
  index_hash = Hash.new
92
92
  index_hash["json_claz"] = self.class.name
93
93
  index_hash["account_id"] = account_id
94
- index_hash["assembly_id"] = assembly_id
94
+ index_hash["marketplace_id"] = marketplace_id
95
95
  index_hash["event_type"] = event_type
96
96
  index_hash["data"] = data
97
97
  index_hash["limit"] = limit
@@ -110,7 +110,7 @@ module Megam
110
110
  def for_json
111
111
  result = {
112
112
  "account_id" => account_id,
113
- "assembly_id" => assembly_id,
113
+ "marketplace_id" => marketplace_id,
114
114
  "event_type" => event_type,
115
115
  "data" => data,
116
116
  "limit" => limit,
@@ -123,7 +123,7 @@ module Megam
123
123
  def self.json_create(o)
124
124
  evt = new({})
125
125
  evt.account_id(o["account_id"]) if o.has_key?("account_id")
126
- evt.assembly_id(o["assembly_id"]) if o.has_key?("assembly_id")
126
+ evt.marketplace_id(o["marketplace_id"]) if o.has_key?("marketplace_id")
127
127
  evt.id(o["id"]) if o.has_key?("id")
128
128
  evt.event_type(o["event_type"]) if o.has_key?("event_type") #this will be an array? can hash store array?
129
129
  evt.data(o["data"]) if o.has_key?("data")
@@ -144,7 +144,7 @@ module Megam
144
144
 
145
145
  def from_hash(o)
146
146
  @account_id = o[:account_id] if o.has_key?(:account_id)
147
- @assembly_id = o[:assembly_id] if o.has_key?(:assembly_id)
147
+ @marketplace_id = o[:marketplace_id] if o.has_key?(:marketplace_id)
148
148
  @event_type = o[:event_type] if o.has_key?(:event_type)
149
149
  @data = o[:data] if o.has_key?(:data)
150
150
  @limit = o[:limit] if o.has_key?(:limit)
@@ -166,17 +166,17 @@ module Megam
166
166
  # Load a account by email_p
167
167
  def self.show(o)
168
168
  evt = from_hash(o)
169
- evt.megam_rest.get_eventsMarketplaces(o[:limit], evt.from_hash(o).for_json)
169
+ evt.megam_rest.get_eventsMarketplace(o[:limit], evt.from_hash(o).for_json)
170
170
  end
171
171
 
172
172
  def self.list(params)
173
173
  asm = self.new(params)
174
- asm.megam_rest.list_eventsMarketplaces(params[:limit])
174
+ asm.megam_rest.list_eventsMarketplace(params[:limit])
175
175
  end
176
176
 
177
177
  def self.index(params)
178
178
  asm = self.new(params)
179
- asm.megam_rest.index_eventsMarketplaces
179
+ asm.megam_rest.index_eventsMarketplace
180
180
  end
181
181
 
182
182
  def to_s
@@ -0,0 +1,122 @@
1
+ module Megam
2
+ class EventsMarketplaceCollection
3
+ include Enumerable
4
+
5
+ attr_reader :iterator
6
+ def initialize
7
+ @eventsmarketplace = Array.new
8
+ @eventsmarketplace_by_name = Hash.new
9
+ @insert_after_idx = nil
10
+ end
11
+
12
+ def all_eventsmarketplace
13
+ @eventsmarketplace
14
+ end
15
+
16
+ def [](index)
17
+ @eventsmarketplace[index]
18
+ end
19
+
20
+ def []=(index, arg)
21
+ is_megam_eventsvm(arg)
22
+ @eventsmarketplace[index] = arg
23
+ @eventsmarketplace_by_name[arg.account_id] = index
24
+ end
25
+
26
+ def <<(*args)
27
+ args.flatten.each do |a|
28
+ is_megam_events(a)
29
+ @eventsmarketplace << a
30
+ @eventsmarketplace_by_name[a.account_id] = @eventsmarketplace.length - 1
31
+ end
32
+ self
33
+ end
34
+
35
+ # 'push' is an alias method to <<
36
+ alias_method :push, :<<
37
+
38
+ def insert(eventsmarketplace)
39
+ is_megam_eventsmarketplace(eventsmarketplace)
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
+ @eventsmarketplace.insert(@insert_after_idx + 1, eventsmarketplace)
45
+ # update name -> location mappings and register new node
46
+ @eventsmarketplace_by_name.each_key do |key|
47
+ @eventsmarketplace_by_name[key] += 1 if @eventsmarketplace_by_name[key] > @insert_after_idx
48
+ end
49
+ @eventsmarketplace_by_name[eventsmarketplace.account_id] = @insert_after_idx + 1
50
+ @insert_after_idx += 1
51
+ else
52
+ @eventsmarketplace << eventsmarketplace
53
+ @eventsmarketplace_by_name[eventsmarketplace.account_id] = @eventsmarketplace.length - 1
54
+ end
55
+ end
56
+
57
+ def each
58
+ @eventsmarketplace.each do |eventsmarketplace|
59
+ yield eventsmarketplace
60
+ end
61
+ end
62
+
63
+ def each_index
64
+ @eventsmarketplace.each_index do |i|
65
+ yield i
66
+ end
67
+ end
68
+
69
+ def empty?
70
+ @eventsmarketplace.empty?
71
+ end
72
+
73
+ def lookup(eventsmarketplace)
74
+ lookup_by = nil
75
+ if events.kind_of?(Megam::EventsMarketplace)
76
+ lookup_by = eventsmarketplace.account_id
77
+ elsif eventsmarketplace.kind_of?(String)
78
+ lookup_by = eventsmarketplace
79
+ else
80
+ raise ArgumentError, "Must pass a Megam::EventsMarketplace or String to lookup"
81
+ end
82
+ res = @eventsmarketplace_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
+ @eventsmarketplace[res]
87
+ end
88
+
89
+ def to_s
90
+ @eventsmarketplace.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 |eventsmarketplace_list|
104
+ eventsmarketplace_array = eventsmarketplace_list.kind_of?(Array) ? eventsmarketplace_list : [ eventsmarketplace_list ]
105
+ eventsmarketplace_array.each do |eventsmarketplace|
106
+ collection.insert(eventsmarketplace)
107
+
108
+ end
109
+ end
110
+ collection
111
+ end
112
+
113
+ private
114
+
115
+ def is_megam_eventsmarketplace(arg)
116
+ unless arg.kind_of?(Megam::EventsMarketplace)
117
+ raise ArgumentError, "Members must be Megam::EventsMarketplace's"
118
+ end
119
+ true
120
+ end
121
+ end
122
+ end
@@ -0,0 +1,276 @@
1
+ module Megam
2
+ class Flavors < Megam::RestAdapter
3
+ def initialize(o)
4
+ @id = nil
5
+ @org_id = nil
6
+ @account_id = nil
7
+ @name = nil
8
+ @cpu = nil
9
+ @ram = nil
10
+ @disk = nil
11
+ @regions = []
12
+ @price = []
13
+ @properties = []
14
+ @status = nil
15
+ @created_at = nil
16
+ @updated_at = nil
17
+ @some_msg = {}
18
+ super(o)
19
+ end
20
+
21
+ def flavors
22
+ self
23
+ end
24
+
25
+ def id(arg = nil)
26
+ if arg != nil
27
+ @id = arg
28
+ else
29
+ @id
30
+ end
31
+ end
32
+
33
+ def org_id(arg = nil)
34
+ if arg != nil
35
+ @org_id = arg
36
+ else
37
+ @org_id
38
+ end
39
+ end
40
+
41
+ def account_id(arg=nil)
42
+ if arg != nil
43
+ @account_id = arg
44
+ else
45
+ @account_id
46
+ end
47
+ end
48
+
49
+ def name(arg = nil)
50
+ if arg != nil
51
+ @name = arg
52
+ else
53
+ @name
54
+ end
55
+ end
56
+
57
+
58
+ def cpu(arg = nil)
59
+ if arg != nil
60
+ @cpu = arg
61
+ else
62
+ @cpu
63
+ end
64
+ end
65
+
66
+ def ram(arg = nil)
67
+ if arg != nil
68
+ @ram = arg
69
+ else
70
+ @ram
71
+ end
72
+ end
73
+
74
+ def disk(arg = nil)
75
+ if arg != nil
76
+ @disk = arg
77
+ else
78
+ @disk
79
+ end
80
+ end
81
+
82
+ def regions(arg = [])
83
+ if arg != []
84
+ @regions = arg
85
+ else
86
+ @regions
87
+ end
88
+ end
89
+
90
+ def price(arg = [])
91
+ if arg != []
92
+ @price = arg
93
+ else
94
+ @price
95
+ end
96
+ end
97
+
98
+ def properties(arg = [])
99
+ if arg != []
100
+ @properties = arg
101
+ else
102
+ @properties
103
+ end
104
+ end
105
+
106
+ def status(arg=nil)
107
+ if arg != nil
108
+ @status = arg
109
+ else
110
+ @status
111
+ end
112
+ end
113
+
114
+ def created_at(arg=nil)
115
+ if arg != nil
116
+ @created_at = arg
117
+ else
118
+ @created_at
119
+ end
120
+ end
121
+
122
+ def updated_at(arg=nil)
123
+ if arg != nil
124
+ @updated_at = arg
125
+ else
126
+ @updated_at
127
+ end
128
+ end
129
+
130
+ def error?
131
+ crocked = true if some_msg.key?(:msg_type) && some_msg[:msg_type] == 'error'
132
+ end
133
+
134
+ def some_msg(arg=nil)
135
+ if arg != nil
136
+ @some_msg = arg
137
+ else
138
+ @some_msg
139
+ end
140
+ end
141
+
142
+ # Transform the ruby obj -> to a Hash
143
+ def to_hash
144
+ index_hash = Hash.new
145
+ index_hash['json_claz'] = self.class.name
146
+ index_hash['id'] = id
147
+ index_hash['org_id'] = org_id
148
+ index_hash["account_id"] = account_id
149
+ index_hash['name'] = name
150
+ index_hash['cpu'] = cpu
151
+ index_hash['ram'] = ram
152
+ index_hash['disk'] = disk
153
+ index_hash['regions'] = regions
154
+ index_hash['price'] = price
155
+ index_hash['properties'] = properties
156
+ index_hash['status'] = status
157
+ index_hash['created_at'] = created_at
158
+ index_hash['updated_at'] = updated_at
159
+ index_hash["some_msg"] = some_msg
160
+ index_hash
161
+ end
162
+
163
+ # Serialize this object as a hash: called from JsonCompat.
164
+ # Verify if this called from JsonCompat during testing.
165
+ def to_json(*a)
166
+ for_json.to_json(*a)
167
+ end
168
+
169
+ def for_json
170
+ result = {
171
+ 'id' => id,
172
+ 'account_id' => account_id,
173
+ 'name' => name,
174
+ 'org_id' => org_id,
175
+ 'cpu' => cpu,
176
+ 'ram' => ram,
177
+ 'disk' => disk,
178
+ 'regions' => regions,
179
+ 'price' => price,
180
+ 'properties' => properties,
181
+ 'status' => status,
182
+ 'created_at' => created_at,
183
+ 'updated_at' => updated_at
184
+ }
185
+
186
+ result
187
+ end
188
+
189
+ def self.json_create(o)
190
+ fav = new({})
191
+ fav.id(o['id']) if o.key?('id')
192
+ fav.org_id(o['org_id']) if o.key?('org_id')
193
+ fav.account_id(o["account_id"]) if o.has_key?("account_id")
194
+ fav.name(o['name']) if o.key?('name')
195
+ fav.cpu(o['cpu']) if o.key?('cpu')
196
+ fav.ram(o['ram']) if o.key?('ram')
197
+ fav.disk(o['disk']) if o.key?('disk')
198
+ fav.regions(o['regions']) if o.key?('regions')
199
+ fav.price(o['price']) if o.key?('price')
200
+ fav.properties(o['properties']) if o.key?('properties')
201
+ fav.status(o['status']) if o.key?('status')
202
+ fav.created_at(o['created_at']) if o.key?('created_at')
203
+ fav.updated_at(o['updated_at']) if o.key?('updated_at')
204
+ fav.some_msg[:code] = o["code"] if o.has_key?("code")
205
+ fav.some_msg[:msg_type] = o["msg_type"] if o.has_key?("msg_type")
206
+ fav.some_msg[:msg]= o["msg"] if o.has_key?("msg")
207
+ fav.some_msg[:links] = o["links"] if o.has_key?("links")
208
+ fav
209
+ end
210
+
211
+ def self.from_hash(o)
212
+ fav = self.new(o)
213
+ fav.from_hash(o)
214
+ fav
215
+ end
216
+
217
+ def from_hash(o)
218
+ @id = o[:id] if o.has_key?(:id)
219
+ @org_id = o[:org_id] if o.has_key?(:org_id)
220
+ @account_id = o[:account_id] if o.has_key?(:account_id)
221
+ @name = o[:name] if o.has_key?(:name)
222
+ @cpu = o[:cpu] if o.has_key?(:cpu)
223
+ @ram = o[:ram] if o.has_key?(:ram)
224
+ @disk = o[:disk] if o.has_key?(:disk)
225
+ @regions = o[:regions] if o.has_key?(:regions)
226
+ @price = o[:price] if o.has_key?(:price)
227
+ @properties = o[:properties] if o.has_key?(:properties)
228
+ @status = o[:status] if o.has_key?(:status)
229
+ @created_at = o[:created_at] if o.has_key?(:created_at)
230
+ @updated_at = o[:updated_at] if o.has_key?(:updated_at)
231
+ self
232
+ end
233
+
234
+
235
+ def self.show(params)
236
+ fav = self.new(params)
237
+ fav.megam_rest.get_one_flavor(params[:name])
238
+ end
239
+
240
+ def self.list(params)
241
+ fav = self.new(params)
242
+ fav.megam_rest.get_flavors
243
+ end
244
+
245
+ def self.create(params)
246
+ fav = from_hash(params)
247
+ fav.create
248
+ end
249
+
250
+ def create
251
+ megam_rest.post_flavors(to_hash)
252
+ end
253
+
254
+ def update
255
+ megam_rest.update_flavors(to_hash)
256
+ end
257
+
258
+ def self.update(params)
259
+ fav = from_hash(params)
260
+ fav.update
261
+ end
262
+
263
+ def self.remove(o)
264
+ fav = from_hash(o)
265
+ fav.remove
266
+ end
267
+
268
+ def remove
269
+ megam_rest.delete_flavors(to_hash)
270
+ end
271
+
272
+ def to_s
273
+ Megam::Stuff.styled_hash(to_hash)
274
+ end
275
+ end
276
+ end
@@ -0,0 +1,122 @@
1
+ module Megam
2
+ class FlavorsCollection
3
+ include Enumerable
4
+
5
+ attr_reader :iterator
6
+
7
+ def initialize
8
+ @flavors = Array.new
9
+ @flavors_by_name = Hash.new
10
+ @insert_after_idx = nil
11
+ end
12
+
13
+ def all_flavors
14
+ @flavors
15
+ end
16
+
17
+ def [](index)
18
+ @flavors[index]
19
+ end
20
+
21
+ def []=(index, arg)
22
+ is_megam_flavors(arg)
23
+ @flavors[index] = arg
24
+ @flavors_by_name[arg.name] = index
25
+ end
26
+
27
+ def <<(*args)
28
+ args.flatten.each do |a|
29
+ is_megam_flavors(a)
30
+ @flavors << a
31
+ @flavors_by_name[a.name] =@flavors.length - 1
32
+ end
33
+ self
34
+ end
35
+
36
+ # 'push' is an alias method to <<
37
+ alias_method :push, :<<
38
+
39
+ def insert(flavors)
40
+ is_megam_flavors(flavors)
41
+ if @insert_after_idx
42
+ # in the middle of executing a run, so any flavors inserted now should
43
+ # be placed after the most recent addition done by the currently executing
44
+ # flavors
45
+ @flavors.insert(@insert_after_idx + 1, flavors)
46
+ # update name -> location mappings and register new flavors
47
+ @flavors_by_name.each_key do |key|
48
+ @flavors_by_name[key] += 1 if@flavors_by_name[key] > @insert_after_idx
49
+ end
50
+ @flavors_by_name[flavors.name] = @insert_after_idx + 1
51
+ @insert_after_idx += 1
52
+ else
53
+ @flavors << flavors
54
+ @flavors_by_name[flavors.name] =@flavors.length - 1
55
+ end
56
+ end
57
+
58
+ def each
59
+ @flavors.each do |flavors|
60
+ yield flavors
61
+ end
62
+ end
63
+
64
+ def each_index
65
+ @flavors.each_index do |i|
66
+ yield i
67
+ end
68
+ end
69
+
70
+ def empty?
71
+ @flavors.empty?
72
+ end
73
+
74
+ def lookup(flavors)
75
+ lookup_by = nil
76
+ if flavors.kind_of?(Megam::Flavors)
77
+ lookup_by = flavors.name
78
+ elsif flavors.kind_of?(String)
79
+ lookup_by = flavors
80
+ else
81
+ raise ArgumentError, "Must pass a Megam::flavors or String to lookup"
82
+ end
83
+ res =@flavors_by_name[lookup_by]
84
+ unless res
85
+ raise ArgumentError, "Cannot find a flavors matching #{lookup_by} (did you define it first?)"
86
+ end
87
+ @flavors[res]
88
+ end
89
+
90
+ def to_s
91
+ @flavors.join(", ")
92
+ end
93
+
94
+ def for_json
95
+ to_a.map { |item| item.to_s }
96
+ end
97
+
98
+ def to_json(*a)
99
+ Megam::JSONCompat.to_json(for_json, *a)
100
+ end
101
+
102
+ def self.json_create(o)
103
+ collection = self.new()
104
+ o["results"].each do |flavors_list|
105
+ flavors_array = flavors_list.kind_of?(Array) ? flavors_list : [ flavors_list ]
106
+ flavors_array.each do |flavors|
107
+ collection.insert(flavors)
108
+ end
109
+ end
110
+ collection
111
+ end
112
+
113
+ private
114
+
115
+ def is_megam_flavors(arg)
116
+ unless arg.kind_of?(Megam::Flavors)
117
+ raise ArgumentError, "Members must be Megam::Flavors's"
118
+ end
119
+ true
120
+ end
121
+ end
122
+ end
@@ -54,8 +54,8 @@ module Megam
54
54
  MEGAM_EVENTSVMCOLLECTION = 'Megam::EventsVmCollection'.freeze
55
55
  MEGAM_EVENTSCONTAINER = 'Megam::EventsContainer'.freeze
56
56
  MEGAM_EVENTSCONTAINERCOLLECTION = 'Megam::EventsContainerCollection'.freeze
57
- MEGAM_EVENTSMARKETPLACES = 'Megam::EventsMarketplaces'.freeze
58
- MEGAM_EVENTSMARKETPLACESCOLLECTION = 'Megam::EventsMarketplacesCollection'.freeze
57
+ MEGAM_EVENTSMARKETPLACE = 'Megam::EventsMarketplace'.freeze
58
+ MEGAM_EventsMarketplaceCollection = 'Megam::EventsMarketplaceCollection'.freeze
59
59
  MEGAM_EVENTSBILLING = 'Megam::EventsBilling'.freeze
60
60
  MEGAM_EVENTSBILLINGCOLLECTION = 'Megam::EventsBillingCollection'.freeze
61
61
  MEGAM_EVENTSSTORAGE = 'Megam::EventsStorage'.freeze
@@ -68,6 +68,8 @@ module Megam
68
68
  MEGAM_REPORTSCOLLECTION = 'Megam::ReportsCollection'.freeze
69
69
  MEGAM_QUOTAS = 'Megam::Quotas'.freeze
70
70
  MEGAM_QUOTASCOLLECTION = 'Megam::QuotasCollection'.freeze
71
+ MEGAM_FLAVORS = 'Megam::Flavors'.freeze
72
+ MEGAM_FLAVORSCOLLECTION = 'Megam::FlavorsCollection'.freeze
71
73
  MEGAM_RAWIMAGES = 'Megam::Rawimages'.freeze
72
74
  MEGAM_RAWIMAGESCOLLECTION = 'Megam::RawimagesCollection'.freeze
73
75
  MEGAM_PROMOS = 'Megam::Promos'.freeze
@@ -184,14 +186,18 @@ module Megam
184
186
  Megam::EventsVm
185
187
  when MEGAM_EVENTSVMCOLLECTION
186
188
  Megam::EventsVmCollection
187
- when MEGAM_EVENTSMARKETPLACES
188
- Megam::EventsMarketplaces
189
- when MEGAM_EVENTSMARKETPLACESCOLLECTION
190
- Megam::EventsMarketplacesCollection
189
+ when MEGAM_EVENTSMARKETPLACE
190
+ Megam::EventsMarketplace
191
+ when MEGAM_EventsMarketplaceCollection
192
+ Megam::EventsMarketplaceCollection
191
193
  when MEGAM_LICENSE
192
194
  Megam::License
193
195
  when MEGAM_LICENSECOLLECTION
194
196
  Megam::LicenseCollection
197
+ when MEGAM_FLAVORS
198
+ Megam::Flavors
199
+ when MEGAM_FLAVORSCOLLECTION
200
+ Megam::FlavorsCollection
195
201
  when MEGAM_EVENTSALL
196
202
  Megam::EventsAll
197
203
  when MEGAM_EVENTSALLCOLLECTION
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.51.4
4
+ version: 1.52.1
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-03-20 00:00:00.000000000 Z
12
+ date: 2017-03-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: excon
@@ -152,9 +152,10 @@ files:
152
152
  - lib/megam/api/eventsall.rb
153
153
  - lib/megam/api/eventsbilling.rb
154
154
  - lib/megam/api/eventscontainer.rb
155
- - lib/megam/api/eventsmarketplaces.rb
155
+ - lib/megam/api/eventsmarketplace.rb
156
156
  - lib/megam/api/eventsstorage.rb
157
157
  - lib/megam/api/eventsvm.rb
158
+ - lib/megam/api/flavors.rb
158
159
  - lib/megam/api/license.rb
159
160
  - lib/megam/api/marketplaces.rb
160
161
  - lib/megam/api/organizations.rb
@@ -199,12 +200,14 @@ files:
199
200
  - lib/megam/core/eventsbilling_collection.rb
200
201
  - lib/megam/core/eventscontainer.rb
201
202
  - lib/megam/core/eventscontainer_collection.rb
202
- - lib/megam/core/eventsmarketplaces.rb
203
- - lib/megam/core/eventsmarketplaces_collection.rb
203
+ - lib/megam/core/eventsmarketplace.rb
204
+ - lib/megam/core/eventsmarketplace_collection.rb
204
205
  - lib/megam/core/eventsstorage.rb
205
206
  - lib/megam/core/eventsstorage_collection.rb
206
207
  - lib/megam/core/eventsvm.rb
207
208
  - lib/megam/core/eventsvm_collection.rb
209
+ - lib/megam/core/flavors.rb
210
+ - lib/megam/core/flavors_collection.rb
208
211
  - lib/megam/core/json_compat.rb
209
212
  - lib/megam/core/konipai.rb
210
213
  - lib/megam/core/license.rb
@@ -1,122 +0,0 @@
1
- module Megam
2
- class EventsMarketplacesCollection
3
- include Enumerable
4
-
5
- attr_reader :iterator
6
- def initialize
7
- @eventsmarketplaces = Array.new
8
- @eventsmarketplaces_by_name = Hash.new
9
- @insert_after_idx = nil
10
- end
11
-
12
- def all_eventsmarketplaces
13
- @eventsmarketplaces
14
- end
15
-
16
- def [](index)
17
- @eventsmarketplaces[index]
18
- end
19
-
20
- def []=(index, arg)
21
- is_megam_eventsvm(arg)
22
- @eventsmarketplaces[index] = arg
23
- @eventsmarketplaces_by_name[arg.account_id] = index
24
- end
25
-
26
- def <<(*args)
27
- args.flatten.each do |a|
28
- is_megam_events(a)
29
- @eventsmarketplaces << a
30
- @eventsmarketplaces_by_name[a.account_id] = @eventsmarketplaces.length - 1
31
- end
32
- self
33
- end
34
-
35
- # 'push' is an alias method to <<
36
- alias_method :push, :<<
37
-
38
- def insert(eventsmarketplaces)
39
- is_megam_eventsmarketplaces(eventsmarketplaces)
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
- @eventsmarketplaces.insert(@insert_after_idx + 1, eventsmarketplaces)
45
- # update name -> location mappings and register new node
46
- @eventsmarketplaces_by_name.each_key do |key|
47
- @eventsmarketplaces_by_name[key] += 1 if @eventsmarketplaces_by_name[key] > @insert_after_idx
48
- end
49
- @eventsmarketplaces_by_name[eventsmarketplaces.account_id] = @insert_after_idx + 1
50
- @insert_after_idx += 1
51
- else
52
- @eventsmarketplaces << eventsmarketplaces
53
- @eventsmarketplaces_by_name[eventsmarketplaces.account_id] = @eventsmarketplaces.length - 1
54
- end
55
- end
56
-
57
- def each
58
- @eventsmarketplaces.each do |eventsmarketplaces|
59
- yield eventsmarketplaces
60
- end
61
- end
62
-
63
- def each_index
64
- @eventsmarketplaces.each_index do |i|
65
- yield i
66
- end
67
- end
68
-
69
- def empty?
70
- @eventsmarketplaces.empty?
71
- end
72
-
73
- def lookup(eventsmarketplaces)
74
- lookup_by = nil
75
- if events.kind_of?(Megam::EventsMarketplaces)
76
- lookup_by = eventsmarketplaces.account_id
77
- elsif eventsmarketplaces.kind_of?(String)
78
- lookup_by = eventsmarketplaces
79
- else
80
- raise ArgumentError, "Must pass a Megam::EventsMarketplaces or String to lookup"
81
- end
82
- res = @eventsmarketplaces_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
- @eventsmarketplaces[res]
87
- end
88
-
89
- def to_s
90
- @eventsmarketplaces.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 |eventsmarketplaces_list|
104
- eventsmarketplaces_array = eventsmarketplaces_list.kind_of?(Array) ? eventsmarketplaces_list : [ eventsmarketplaces_list ]
105
- eventsmarketplaces_array.each do |eventsmarketplaces|
106
- collection.insert(eventsmarketplaces)
107
-
108
- end
109
- end
110
- collection
111
- end
112
-
113
- private
114
-
115
- def is_megam_eventsmarketplaces(arg)
116
- unless arg.kind_of?(Megam::EventsMarketplaces)
117
- raise ArgumentError, "Members must be Megam::EventsMarketplaces's"
118
- end
119
- true
120
- end
121
- end
122
- end