Class: Megam::Components
Instance Attribute Summary
Attributes inherited from ServerAPI
#api_key, #email, #host, #org_id, #password
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from ServerAPI
#megam_rest
Constructor Details
Returns a new instance of Components.
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/megam/core/components.rb', line 19
def initialize(o)
@id = nil
@name = nil
@tosca_type = nil
@inputs = []
@outputs = []
@envs = []
@artifacts = {}
@artifact_type = nil
@content = nil
@artifact_requirements = []
@related_components = []
@operations = []
@status = nil
@repo = {}
@rtype = nil
@source = nil
@oneclick = nil
@url = nil
@created_at = nil
super(o)
end
|
Class Method Details
.create(params) ⇒ Object
294
295
296
297
|
# File 'lib/megam/core/components.rb', line 294
def self.create(params)
asm = from_hash(params)
asm.create
end
|
.from_hash(o) ⇒ Object
272
273
274
275
276
|
# File 'lib/megam/core/components.rb', line 272
def self.from_hash(o)
asm = new(o)
asm.from_hash(o)
asm
end
|
.json_create(o) ⇒ Object
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
|
# File 'lib/megam/core/components.rb', line 246
def self.json_create(o)
asm = new({})
asm.id(o['id']) if o.key?('id')
asm.name(o['name']) if o.key?('name')
asm.tosca_type(o['tosca_type']) if o.key?('tosca_type')
asm.inputs(o['inputs']) if o.key?('inputs')
asm.outputs(o['outputs']) if o.key?('outputs')
asm.envs(o['envs']) if o.key?('envs')
ar = o['artifacts']
asm.artifacts[:artifact_type] = ar['artifact_type'] if ar && ar.key?('artifact_type')
asm.artifacts[:content] = ar['content'] if ar && ar.key?('content')
asm.artifacts[:artifact_requirements] = ar['artifact_requirements'] if ar && ar.key?('artifact_requirements')
asm.related_components(o['related_components']) if o.key?('related_components')
asm.operations(o['operations']) if o.key?('operations')
asm.status(o['status']) if o.key?('status')
ro = o['repo']
asm.repo[:rtype] = ro['rtype'] if ro && ro.key?('rtype')
asm.repo[:source] = ro['source'] if ro && ro.key?('source')
asm.repo[:oneclick] = ro['oneclick'] if ro && ro.key?('oneclick')
asm.repo[:url] = ro['url'] if ro && ro.key?('url')
asm.created_at(o['created_at']) if o.key?('created_at')
asm
end
|
.show(params) ⇒ Object
Load a account by email_p
300
301
302
303
|
# File 'lib/megam/core/components.rb', line 300
def self.show(params)
asm = new(params)
asm.megam_rest.get_components(params['id'])
end
|
.update(params) ⇒ Object
305
306
307
308
|
# File 'lib/megam/core/components.rb', line 305
def self.update(params)
asm = from_hash(params)
asm.update
end
|
Instance Method Details
#artifact_requirements(arg = []) ⇒ Object
119
120
121
122
123
124
125
|
# File 'lib/megam/core/components.rb', line 119
def artifact_requirements(arg = [])
if arg != []
@artifact_requirements = arg
else
@artifact_requirements
end
end
|
#artifact_type(arg = nil) ⇒ Object
103
104
105
106
107
108
109
|
# File 'lib/megam/core/components.rb', line 103
def artifact_type(arg = nil)
if !arg.nil?
@artifact_type = arg
else
@artifact_type
end
end
|
#artifacts(arg = nil) ⇒ Object
95
96
97
98
99
100
101
|
# File 'lib/megam/core/components.rb', line 95
def artifacts(arg = nil)
if !arg.nil?
@artifacts = arg
else
@artifacts
end
end
|
#components ⇒ Object
43
44
45
|
# File 'lib/megam/core/components.rb', line 43
def components
self
end
|
#content(arg = nil) ⇒ Object
111
112
113
114
115
116
117
|
# File 'lib/megam/core/components.rb', line 111
def content(arg = nil)
if !arg.nil?
@content = arg
else
@content
end
end
|
#created_at(arg = nil) ⇒ Object
191
192
193
194
195
196
197
|
# File 'lib/megam/core/components.rb', line 191
def created_at(arg = nil)
if !arg.nil?
@created_at = arg
else
@created_at
end
end
|
#envs(arg = []) ⇒ Object
87
88
89
90
91
92
93
|
# File 'lib/megam/core/components.rb', line 87
def envs(arg = [])
if arg != []
@envs = arg
else
@envs
end
end
|
#error? ⇒ Boolean
199
200
201
|
# File 'lib/megam/core/components.rb', line 199
def error?
crocked = true if some_msg.key?(:msg_type) && some_msg[:msg_type] == 'error'
end
|
#for_json ⇒ Object
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
|
# File 'lib/megam/core/components.rb', line 228
def for_json
result = {
'id' => id,
'name' => name,
'tosca_type' => tosca_type,
'inputs' => inputs,
'outputs' => outputs,
'envs' => envs,
'artifacts' => artifacts,
'related_components' => related_components,
'operations' => operations,
'status' => status,
'repo' => repo,
'created_at' => created_at
}
result
end
|
#from_hash(o) ⇒ Object
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
|
# File 'lib/megam/core/components.rb', line 278
def from_hash(o)
@id = o['id'] if o.key?('id')
@name = o['name'] if o.key?('name')
@tosca_type = o['tosca_type'] if o.key?('tosca_type')
@inputs = o['inputs'] if o.key?('inputs')
@outputs = o['outputs'] if o.key?('outputs')
@envs = o['envs'] if o.key?('envs')
@artifacts = o['artifacts'] if o.key?('artifacts')
@related_components = o['related_components'] if o.key?('related_components')
@operations = o['operations'] if o.key?('operations')
@status = o['status'] if o.key?('status')
@repo = o['repo'] if o.key?('repo')
@created_at = o['created_at'] if o.key?('created_at')
self
end
|
#id(arg = nil) ⇒ Object
47
48
49
50
51
52
53
|
# File 'lib/megam/core/components.rb', line 47
def id(arg = nil)
if !arg.nil?
@id = arg
else
@id
end
end
|
71
72
73
74
75
76
77
|
# File 'lib/megam/core/components.rb', line 71
def inputs(arg = [])
if arg != []
@inputs = arg
else
@inputs
end
end
|
#name(arg = nil) ⇒ Object
55
56
57
58
59
60
61
|
# File 'lib/megam/core/components.rb', line 55
def name(arg = nil)
if !arg.nil?
@name = arg
else
@name
end
end
|
#oneclick(arg = nil) ⇒ Object
175
176
177
178
179
180
181
|
# File 'lib/megam/core/components.rb', line 175
def oneclick(arg = nil)
if !arg.nil?
@oneclick = arg
else
@oneclick
end
end
|
#operations(arg = []) ⇒ Object
135
136
137
138
139
140
141
|
# File 'lib/megam/core/components.rb', line 135
def operations(arg = [])
if arg != []
@operations = arg
else
@operations
end
end
|
#outputs(arg = []) ⇒ Object
79
80
81
82
83
84
85
|
# File 'lib/megam/core/components.rb', line 79
def outputs(arg = [])
if arg != []
@outputs = arg
else
@outputs
end
end
|
127
128
129
130
131
132
133
|
# File 'lib/megam/core/components.rb', line 127
def related_components(arg = [])
if arg != []
@related_components = arg
else
@related_components
end
end
|
#repo(arg = nil) ⇒ Object
151
152
153
154
155
156
157
|
# File 'lib/megam/core/components.rb', line 151
def repo(arg = nil)
if !arg.nil?
@repo = arg
else
@repo
end
end
|
#rtype(arg = nil) ⇒ Object
159
160
161
162
163
164
165
|
# File 'lib/megam/core/components.rb', line 159
def rtype(arg = nil)
if !arg.nil?
@rtype = arg
else
@rtype
end
end
|
#source(arg = nil) ⇒ Object
167
168
169
170
171
172
173
|
# File 'lib/megam/core/components.rb', line 167
def source(arg = nil)
if !arg.nil?
@source = arg
else
@source
end
end
|
#status(arg = nil) ⇒ Object
143
144
145
146
147
148
149
|
# File 'lib/megam/core/components.rb', line 143
def status(arg = nil)
if !arg.nil?
@status = arg
else
@status
end
end
|
#to_hash ⇒ Object
Transform the ruby obj -> to a Hash
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
|
# File 'lib/megam/core/components.rb', line 204
def to_hash
index_hash = {}
index_hash['json_claz'] = self.class.name
index_hash['id'] = id
index_hash['name'] = name
index_hash['tosca_type'] = tosca_type
index_hash['inputs'] = inputs
index_hash['outputs'] = outputs
index_hash['envs'] = envs
index_hash['artifacts'] = artifacts
index_hash['related_components'] = related_components
index_hash['operations'] = operations
index_hash['status'] = status
index_hash['repo'] = repo
index_hash['created_at'] = created_at
index_hash
end
|
#to_json(*a) ⇒ Object
Serialize this object as a hash: called from JsonCompat. Verify if this called from JsonCompat during testing.
224
225
226
|
# File 'lib/megam/core/components.rb', line 224
def to_json(*a)
for_json.to_json(*a)
end
|
#to_s ⇒ Object
315
316
317
|
# File 'lib/megam/core/components.rb', line 315
def to_s
Megam::Stuff.styled_hash(to_hash)
end
|
#tosca_type(arg = nil) ⇒ Object
63
64
65
66
67
68
69
|
# File 'lib/megam/core/components.rb', line 63
def tosca_type(arg = nil)
if !arg.nil?
@tosca_type = arg
else
@tosca_type
end
end
|
#update ⇒ Object
Create the node via the REST API
311
312
313
|
# File 'lib/megam/core/components.rb', line 311
def update
megam_rest.update_component(to_hash)
end
|
#url(arg = nil) ⇒ Object
183
184
185
186
187
188
189
|
# File 'lib/megam/core/components.rb', line 183
def url(arg = nil)
if !arg.nil?
@url = arg
else
@url
end
end
|