usd 0.2.3 → 0.3
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/README.md +45 -22
- data/bin/rusdc +37 -7
- data/change_log.md +121 -1
- data/lib/usd.rb +70 -0
- data/usd.gemspec +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 01c14a85c19914e885ffd003e8b4584ab7f89a15305866abade4ea4888625940
|
4
|
+
data.tar.gz: e89f3b47d89b9040077400049e91aa0700f4c68d41b19c6cf7fde7a97f8e46c8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5857ce4ebc1a8b24b59a1ce22e63cdaa9384724401d6aae189a3345c952ce74e22332b2a0a25ec3cf2bc3e3f059f298ca9455e391028f20675cd2069adeb4f3e
|
7
|
+
data.tar.gz: 97a5207333d77ece64e71b7883f8198bdd8fad5f47f772d72d6f438aaebb3e95ff6179bdbfd81d07574a033181a50642a2ede5f155aa6e62e1453e0170bc3770
|
data/README.md
CHANGED
@@ -21,6 +21,15 @@ yum group install "Development Tools"
|
|
21
21
|
yum install ruby-devel
|
22
22
|
```
|
23
23
|
|
24
|
+
# documentation
|
25
|
+
|
26
|
+
- see [https://github.com/ogaida/usd/wiki](https://github.com/ogaida/usd/wiki)
|
27
|
+
- if you are looking for dependencies in between the objects, objectnames or relational objects, then have a look at [techdocs.broadcom.com](https://techdocs.broadcom.com/content/broadcom/techdocs/us/en/ca-enterprise-software/business-management/ca-service-management/14-1/reference/ca-service-desk-manager-reference-commands/objects-and-attributes.html)
|
28
|
+
|
29
|
+
## bash-completion
|
30
|
+
|
31
|
+
see [https://github.com/ogaida/usd/wiki/bash-completion](https://github.com/ogaida/usd/wiki/bash-completion)
|
32
|
+
|
24
33
|
# external tools
|
25
34
|
|
26
35
|
If you use the `rusdc find` command with `--format mlr` option then you need `mlr`.
|
@@ -32,28 +41,31 @@ Place the `mlr`-binary in a path, which is in your PATH-Environment. Download-Ur
|
|
32
41
|
# functions from the commandline-tool `rusdc`
|
33
42
|
|
34
43
|
```
|
35
|
-
rusdc
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
44
|
+
rusdc chg_add_nr <co> <ci> # add a CI to a changeorder
|
45
|
+
rusdc chg_list_nr <co> # list all CIs of one changeorder
|
46
|
+
rusdc create # pipe json-data to create object
|
47
|
+
rusdc field_names <object-type> [wc] # list all fields of an object including its format
|
48
|
+
rusdc find <object-type> [where-clause] [fields, comma separated] [options] # finds each object which meets the wc-condition
|
49
|
+
rusdc get <object-type> <common_name|id> # shows one object by name or id
|
50
|
+
rusdc get_all_attachments_of_co <co_name> # get all attachments of a changeorder and save all th...
|
51
|
+
rusdc get_attachment_of_ci <ci_name> <filename> # download an attachment of a CI and print it out on s...
|
52
|
+
rusdc get_attachment_of_co <co_name> <filename> # download an attachment of a changeorder and print it...
|
53
|
+
rusdc help [COMMAND] # Describe available commands or one specific command
|
54
|
+
rusdc in_add_2_chg <changeorder> <incident> # add incident to changeorder
|
55
|
+
rusdc in_list_child_ins <in> # list all child-incidents of one incident
|
56
|
+
rusdc list_attachments_of_ci <ci_name> # list all attachments of a CI
|
57
|
+
rusdc list_attachments_of_co <co_name> # list all attachments of a changeorder
|
58
|
+
rusdc nr_add_child <nr-name> <child-name> # add one child CI to another CI
|
59
|
+
rusdc nr_add_org <nr> <org> # add an Organisation to a ConfigurationItem
|
60
|
+
rusdc nr_changes <nr> [inactive-too] # list all open changeorders of one CI
|
61
|
+
rusdc nr_childs <ci-name> # lists all childs CIs of a specific CI
|
62
|
+
rusdc nr_incidents <nr> [inactive-too] # lists all incident of a specific CI
|
63
|
+
rusdc nr_parents <ci-name> # lists all parent CIs of a specific CI
|
64
|
+
rusdc update # pipe json-data to update object
|
65
|
+
rusdc update_attr <obj> <common_name|wc> <key> <value> # updates a direct (not referenced) attribute of one o...
|
66
|
+
rusdc update_attr_by_id <obj> <id> <key> <value> # updates a plain attribute of one object by id, does ...
|
67
|
+
rusdc update_ref_attr <obj> <common_name> <key> <value> # updates a referenced attribute of one object.
|
68
|
+
rusdc update_ref_attr_by_id <obj> <id> <key> <value_id> # updates a referenced attribute of one object_id by v...
|
57
69
|
```
|
58
70
|
|
59
71
|
# environment-variables
|
@@ -81,3 +93,14 @@ then
|
|
81
93
|
export usdpass
|
82
94
|
fi
|
83
95
|
```
|
96
|
+
|
97
|
+
# example - find records
|
98
|
+
|
99
|
+
```bash
|
100
|
+
$ rusdc find nr "name like 'foo%'" name,description --format mlr
|
101
|
+
name description
|
102
|
+
foo1 foo QS
|
103
|
+
foo2 foo TEST
|
104
|
+
```
|
105
|
+
|
106
|
+
more examples under [find examples-Wikipage](https://github.com/ogaida/usd/wiki/find-examples) or in the [change_log](https://github.com/ogaida/usd/blob/master/change_log.md)
|
data/bin/rusdc
CHANGED
@@ -89,6 +89,7 @@ class Rusdc < Thor
|
|
89
89
|
option :nice_time, :type => :boolean, :default => true,:banner => "[true|false]"
|
90
90
|
option :debug, :type => :boolean, :default => false,:banner => "[true|false]"
|
91
91
|
def find(object, wc="", fields="@COMMON_NAME")
|
92
|
+
exitcode=0
|
92
93
|
unless (fields =~ /^[\w\_,@]+$/)
|
93
94
|
puts "fields-problem: there must be only letters, numbers, comma, the @-sign or underscore, nothing else!"
|
94
95
|
else
|
@@ -96,6 +97,7 @@ class Rusdc < Thor
|
|
96
97
|
mlr_array = []
|
97
98
|
con.debug = options[:debug]
|
98
99
|
e = con.search(object,{'fields' => fields,"wc" => wc})
|
100
|
+
exitcode=1 if e.count == 0
|
99
101
|
fields_array=fields.split(/,/)
|
100
102
|
e.each do |elem|
|
101
103
|
# init all requested keys with empty strings, better for mlr format and needed for fields-order
|
@@ -105,7 +107,7 @@ class Rusdc < Thor
|
|
105
107
|
elem.keys.each do |elem_key|
|
106
108
|
if options[:nice_time]
|
107
109
|
if elem_key =~ /(date|last_mod|warranty_start|warranty_end|time_stamp)$/
|
108
|
-
elem[elem_key]=Time.at(elem[elem_key]).to_s
|
110
|
+
elem[elem_key]=Time.at(elem[elem_key]).to_s if elem[elem_key] != "" # not empty
|
109
111
|
end
|
110
112
|
end
|
111
113
|
if fields_array.include?(elem_key)
|
@@ -125,9 +127,11 @@ class Rusdc < Thor
|
|
125
127
|
case options[:format]
|
126
128
|
when "json"
|
127
129
|
puts mlr
|
130
|
+
exit exitcode
|
128
131
|
when "yaml"
|
129
132
|
# keys not sorted, maybe a todo
|
130
133
|
puts e.to_yaml
|
134
|
+
exit exitcode
|
131
135
|
when "mlr"
|
132
136
|
# hierfuer muss mlr verfuegbar sein
|
133
137
|
file = Tempfile.new('json')
|
@@ -136,8 +140,10 @@ class Rusdc < Thor
|
|
136
140
|
file.close
|
137
141
|
puts `#{cmd}`
|
138
142
|
file.unlink
|
143
|
+
exit exitcode
|
139
144
|
else
|
140
145
|
puts "das Format #{options[:format]} ist nicht hinterlegt. Es gibt nur json, yaml oder mlr."
|
146
|
+
exit 2
|
141
147
|
end
|
142
148
|
end # fields check
|
143
149
|
end
|
@@ -166,7 +172,7 @@ class Rusdc < Thor
|
|
166
172
|
chg_id=loadcon.request("/caisd-rest/chg/COMMON_NAME-#{coname}")["chg"]["@id"]
|
167
173
|
att_nr = loadcon.search("lrel_attachments_changes",{'fields' => "attmnt","wc" => "chg = #{chg_id}"})
|
168
174
|
att_nr.each do |att|
|
169
|
-
attmnt = loadcon.request("/caisd-rest/attmnt
|
175
|
+
attmnt = loadcon.request("/caisd-rest/attmnt/#{att["attmnt"]["@id"]}")["attmnt"]
|
170
176
|
filename = attmnt["orig_file_name"]
|
171
177
|
puts "save #{filename}"
|
172
178
|
f = File.open(filename, 'w')
|
@@ -180,7 +186,7 @@ class Rusdc < Thor
|
|
180
186
|
def get_attachment_of_ci(ciname, filename)
|
181
187
|
att_nr = loadcon.search("lrel_attachments_nr",{'fields' => "attmnt","wc" => "nr.name = '#{ciname}'"})
|
182
188
|
att_nr.each do |att|
|
183
|
-
attmnt = loadcon.request("/caisd-rest/attmnt
|
189
|
+
attmnt = loadcon.request("/caisd-rest/attmnt/#{att["attmnt"]["@id"]}")["attmnt"]
|
184
190
|
if attmnt["orig_file_name"] == filename
|
185
191
|
puts loadcon.request("/caisd-rest/attmnt/#{attmnt["@id"]}/file-resource",{:unchanged => true})
|
186
192
|
end
|
@@ -192,7 +198,7 @@ class Rusdc < Thor
|
|
192
198
|
chg_id=loadcon.request("/caisd-rest/chg/COMMON_NAME-#{coname}")["chg"]["@id"]
|
193
199
|
att_nr = loadcon.search("lrel_attachments_changes",{'fields' => "attmnt","wc" => "chg = #{chg_id}"})
|
194
200
|
att_nr.each do |att|
|
195
|
-
attmnt = loadcon.request("/caisd-rest/attmnt
|
201
|
+
attmnt = loadcon.request("/caisd-rest/attmnt/#{att["attmnt"]["@id"]}")["attmnt"]
|
196
202
|
if attmnt["orig_file_name"] == filename
|
197
203
|
puts loadcon.request("/caisd-rest/attmnt/#{attmnt["@id"]}/file-resource",{:unchanged => true})
|
198
204
|
end
|
@@ -213,7 +219,7 @@ class Rusdc < Thor
|
|
213
219
|
def list_attachments_of_ci(ciname)
|
214
220
|
att_nr = loadcon.search("lrel_attachments_nr",{'fields' => "attmnt","wc" => "nr.name = '#{ciname}'"})
|
215
221
|
att_nr.each do |att|
|
216
|
-
puts loadcon.request("/caisd-rest/attmnt
|
222
|
+
puts loadcon.request("/caisd-rest/attmnt/#{att["attmnt"]["@id"]}")["attmnt"]["orig_file_name"]
|
217
223
|
end
|
218
224
|
end
|
219
225
|
|
@@ -222,7 +228,7 @@ class Rusdc < Thor
|
|
222
228
|
chg_id=loadcon.request("/caisd-rest/chg/COMMON_NAME-#{coname}")["chg"]["@id"]
|
223
229
|
att_nr = loadcon.search("lrel_attachments_changes",{'fields' => "attmnt","wc" => "chg = #{chg_id}"})
|
224
230
|
att_nr.each do |att|
|
225
|
-
puts loadcon.request("/caisd-rest/attmnt
|
231
|
+
puts loadcon.request("/caisd-rest/attmnt/#{att["attmnt"]["@id"]}")["attmnt"]["orig_file_name"]
|
226
232
|
end
|
227
233
|
end
|
228
234
|
|
@@ -244,6 +250,24 @@ class Rusdc < Thor
|
|
244
250
|
puts loadcon.create({:type => "json", :data => json})
|
245
251
|
end
|
246
252
|
|
253
|
+
desc "nr_add_org <nr> <org>", "add an Organisation to a ConfigurationItem"
|
254
|
+
def nr_add_org(nr, org)
|
255
|
+
template = ERB.new <<-EOF
|
256
|
+
{
|
257
|
+
"lrel_oenv_orgref": {
|
258
|
+
"nr": {
|
259
|
+
"@id": "<%= uid_nr %>"
|
260
|
+
},
|
261
|
+
"org": {
|
262
|
+
"@id": "<%= uid_org %>"
|
263
|
+
}
|
264
|
+
}
|
265
|
+
}
|
266
|
+
EOF
|
267
|
+
json = template.result_with_hash(:uid_org => loadcon.request("/caisd-rest/org/COMMON_NAME-#{org}")["org"]["@id"], :uid_nr => loadcon.request("/caisd-rest/nr/COMMON_NAME-#{nr}")["nr"]["@id"])
|
268
|
+
puts loadcon.create({:type => "json", :data => json})
|
269
|
+
end
|
270
|
+
|
247
271
|
desc "nr_changes <nr> [inactive-too]", "list all open changeorders of one CI"
|
248
272
|
option :inactive_too, :type => :boolean, :default => false
|
249
273
|
def nr_changes(nr)
|
@@ -377,7 +401,13 @@ class Rusdc < Thor
|
|
377
401
|
:k => k,
|
378
402
|
:v => v
|
379
403
|
})
|
380
|
-
|
404
|
+
data = loadcon.update({:type => "json", :data => json})
|
405
|
+
if data.class == RestClient::BadRequest
|
406
|
+
puts "direkte Ausführung bekommt einen BadRequest, versuche Update über IDs. #{Usd::CN["cnt"]}"
|
407
|
+
#find(obj, wc="obj", fields="@COMMON_NAME")
|
408
|
+
else
|
409
|
+
puts data
|
410
|
+
end
|
381
411
|
end
|
382
412
|
|
383
413
|
desc "update_ref_attr_by_id <obj> <id> <key> <value_id>", "updates a referenced attribute of one object_id by value-id"
|
data/change_log.md
CHANGED
@@ -1,4 +1,124 @@
|
|
1
|
-
# changelog
|
1
|
+
# rusdc changelog
|
2
|
+
|
3
|
+
## 0.3
|
4
|
+
|
5
|
+
- some common_name resolution
|
6
|
+
|
7
|
+
```ruby
|
8
|
+
class Usd
|
9
|
+
CN={
|
10
|
+
"chg" => "chg_ref_num",
|
11
|
+
"cnt" => "combo_name",
|
12
|
+
"arcpur_rule" => "name",
|
13
|
+
"ca_tou" => "name",
|
14
|
+
"cost_cntr" => "name",
|
15
|
+
"country" => "name",
|
16
|
+
"dept" => "name",
|
17
|
+
"gl_code" => "name",
|
18
|
+
"job_func" => "name",
|
19
|
+
"loc" => "name",
|
20
|
+
"nr" => "name",
|
21
|
+
"opsys" => "name",
|
22
|
+
"org" => "name",
|
23
|
+
"tab" => "name",
|
24
|
+
"auto_close" => "sym",
|
25
|
+
"aty" => "sym",
|
26
|
+
"act_type_assoc" => "sym",
|
27
|
+
"ca_cmpny" => "sym",
|
28
|
+
"closure_code" => "sym",
|
29
|
+
"cmth" => "sym",
|
30
|
+
"symptom_code" => "sym",
|
31
|
+
"state" => "sym",
|
32
|
+
"crt" => "sym",
|
33
|
+
"ctab" => "sym",
|
34
|
+
"ctp" => "sym",
|
35
|
+
"dcon_typ" => "sym",
|
36
|
+
"dlgsrvr" => "sym",
|
37
|
+
"dmn" => "sym",
|
38
|
+
"doc_rep" => "sym",
|
39
|
+
"fmgrp" => "sym",
|
40
|
+
"ical_alarm" => "sym",
|
41
|
+
"ical_event_template" => "sym",
|
42
|
+
"imp" => "sym",
|
43
|
+
"intfc" => "sym",
|
44
|
+
"kwrd" => "sym",
|
45
|
+
"mfrmod" => "sym",
|
46
|
+
"mgsstat" => "sym",
|
47
|
+
"nrf" => "sym",
|
48
|
+
"options" => "sym",
|
49
|
+
"outage_type" => "sym",
|
50
|
+
"perscnt" => "sym",
|
51
|
+
"position" => "sym",
|
52
|
+
"pr_trans" => "sym",
|
53
|
+
"prod" => "sym",
|
54
|
+
"quick_tpl_types" => "sym",
|
55
|
+
"rc" => "sym",
|
56
|
+
"resocode" => "sym",
|
57
|
+
"resomethod" => "sym",
|
58
|
+
"response" => "sym",
|
59
|
+
"rrf" => "sym",
|
60
|
+
"rss" => "sym",
|
61
|
+
"seq" => "sym",
|
62
|
+
"sev" => "sym",
|
63
|
+
"site" => "sym",
|
64
|
+
"slatpl" => "sym",
|
65
|
+
"special_handling" => "sym",
|
66
|
+
"svc_contract" => "sym",
|
67
|
+
"typecnt" => "sym",
|
68
|
+
"tz" => "sym",
|
69
|
+
"tspan" => "sym",
|
70
|
+
"transition_type" => "sym",
|
71
|
+
"urg" => "sym",
|
72
|
+
"vpt" => "sym",
|
73
|
+
"wrkshft" => "sym",
|
74
|
+
"cr" => "ref_num",
|
75
|
+
"in" => "ref_num",
|
76
|
+
"pr" => "ref_num"
|
77
|
+
}
|
78
|
+
end
|
79
|
+
```
|
80
|
+
|
81
|
+
## 0.2.5.3
|
82
|
+
|
83
|
+
- neu function : `rusdc nr_add_org <nr> <org> # add an Organisation to a ConfigurationItem`
|
84
|
+
|
85
|
+
#### fixes:
|
86
|
+
|
87
|
+
- rusdc - line 110: more robust when querying date fields
|
88
|
+
|
89
|
+
## 0.2.4.2
|
90
|
+
|
91
|
+
the same fixes as in 0.2.4.1 for:
|
92
|
+
|
93
|
+
```
|
94
|
+
rusdc list_attachments_of_ci <ci_name>
|
95
|
+
rusdc list_attachments_of_co <co_name>
|
96
|
+
```
|
97
|
+
|
98
|
+
## 0.2.4.1
|
99
|
+
|
100
|
+
### fixes
|
101
|
+
|
102
|
+
- `rusdc get_attachment_of_ci` : attachment with spaces in path could not be downloaded
|
103
|
+
|
104
|
+
## 0.2.4
|
105
|
+
|
106
|
+
- find function has exitcode > 0 if no records has been found
|
107
|
+
|
108
|
+
```
|
109
|
+
$ rusdc find nr "name = 'not_here'" || echo 'i am not here, please create me'
|
110
|
+
[]
|
111
|
+
i am not here, please create me
|
112
|
+
$ rusdc find cnt "last_name = 'Gaida'" && echo 'i am here, you may update me'
|
113
|
+
[{
|
114
|
+
"@COMMON_NAME": "Gaida, Oliver "
|
115
|
+
}]
|
116
|
+
i am here, you may update me
|
117
|
+
```
|
118
|
+
|
119
|
+
### fixes
|
120
|
+
|
121
|
+
- `rusdc get_all_attachments_of_co` : attachment with spaces in path could not be downloaded
|
2
122
|
|
3
123
|
## 0.2.3
|
4
124
|
|
data/lib/usd.rb
CHANGED
@@ -10,6 +10,76 @@ require 'tempfile'
|
|
10
10
|
|
11
11
|
class Usd
|
12
12
|
|
13
|
+
CN={
|
14
|
+
"chg" => "chg_ref_num",
|
15
|
+
"cnt" => "combo_name",
|
16
|
+
"arcpur_rule" => "name",
|
17
|
+
"ca_tou" => "name",
|
18
|
+
"cost_cntr" => "name",
|
19
|
+
"country" => "name",
|
20
|
+
"dept" => "name",
|
21
|
+
"gl_code" => "name",
|
22
|
+
"job_func" => "name",
|
23
|
+
"loc" => "name",
|
24
|
+
"nr" => "name",
|
25
|
+
"opsys" => "name",
|
26
|
+
"org" => "name",
|
27
|
+
"tab" => "name",
|
28
|
+
"auto_close" => "sym",
|
29
|
+
"aty" => "sym",
|
30
|
+
"act_type_assoc" => "sym",
|
31
|
+
"ca_cmpny" => "sym",
|
32
|
+
"closure_code" => "sym",
|
33
|
+
"cmth" => "sym",
|
34
|
+
"symptom_code" => "sym",
|
35
|
+
"state" => "sym",
|
36
|
+
"crt" => "sym",
|
37
|
+
"ctab" => "sym",
|
38
|
+
"ctp" => "sym",
|
39
|
+
"dcon_typ" => "sym",
|
40
|
+
"dlgsrvr" => "sym",
|
41
|
+
"dmn" => "sym",
|
42
|
+
"doc_rep" => "sym",
|
43
|
+
"fmgrp" => "sym",
|
44
|
+
"ical_alarm" => "sym",
|
45
|
+
"ical_event_template" => "sym",
|
46
|
+
"imp" => "sym",
|
47
|
+
"intfc" => "sym",
|
48
|
+
"kwrd" => "sym",
|
49
|
+
"mfrmod" => "sym",
|
50
|
+
"mgsstat" => "sym",
|
51
|
+
"nrf" => "sym",
|
52
|
+
"options" => "sym",
|
53
|
+
"outage_type" => "sym",
|
54
|
+
"perscnt" => "sym",
|
55
|
+
"position" => "sym",
|
56
|
+
"pr_trans" => "sym",
|
57
|
+
"prod" => "sym",
|
58
|
+
"quick_tpl_types" => "sym",
|
59
|
+
"rc" => "sym",
|
60
|
+
"resocode" => "sym",
|
61
|
+
"resomethod" => "sym",
|
62
|
+
"response" => "sym",
|
63
|
+
"rrf" => "sym",
|
64
|
+
"rss" => "sym",
|
65
|
+
"seq" => "sym",
|
66
|
+
"sev" => "sym",
|
67
|
+
"site" => "sym",
|
68
|
+
"slatpl" => "sym",
|
69
|
+
"special_handling" => "sym",
|
70
|
+
"svc_contract" => "sym",
|
71
|
+
"typecnt" => "sym",
|
72
|
+
"tz" => "sym",
|
73
|
+
"tspan" => "sym",
|
74
|
+
"transition_type" => "sym",
|
75
|
+
"urg" => "sym",
|
76
|
+
"vpt" => "sym",
|
77
|
+
"wrkshft" => "sym",
|
78
|
+
"cr" => "ref_num",
|
79
|
+
"in" => "ref_num",
|
80
|
+
"pr" => "ref_num"
|
81
|
+
}
|
82
|
+
|
13
83
|
RestClient.proxy = ""
|
14
84
|
|
15
85
|
attr_reader :base_url, :user, :access_key, :expiration_date, :debug
|
data/usd.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
2
|
spec.name = 'usd'
|
3
|
-
spec.version = '0.
|
4
|
-
spec.date = '
|
3
|
+
spec.version = '0.3'
|
4
|
+
spec.date = '2020-08-31'
|
5
5
|
spec.summary = "SDM REST-API-Calls"
|
6
6
|
spec.description = "a Ruby class and a commandlinetool for SDM REST-API-Calls"
|
7
7
|
spec.authors = ["Oliver Gaida"]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: usd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.3'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oliver Gaida
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-08-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|