dws-registry 0.5.0 → 0.6.0
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
- checksums.yaml.gz.sig +0 -0
- data/lib/dws-registry.rb +48 -47
- data.tar.gz.sig +0 -0
- metadata +36 -32
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0d341ebac9fd10a3216588c7651caa6e2b4e28619fc3decbb4d6764c95d7f1c0
|
4
|
+
data.tar.gz: 613d9fc137c636f77043f4ebb58e5d1412b4f08d38f1fbf3e192e9eea1f3db14
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 666c0c408e1b783b2b2da18a0843ed59350038f4493af5bbc21dd4928bb37d058e3237d7386561f0a1fcf11ef76663db1544ad9cc4f15d355ad3b9f384a79c39
|
7
|
+
data.tar.gz: 629d903bdc1a4d4e8cf70e9fe66937853398a04c9d58e3e9667e68ad99e1c7a9c578322a1bfcceaae7aa744b2ff6688f7f27d08c0f7b52f52809ca1540b1abfd
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/dws-registry.rb
CHANGED
@@ -7,74 +7,75 @@ require 'xml-registry'
|
|
7
7
|
require 'rscript'
|
8
8
|
require 'json'
|
9
9
|
require 'requestor'
|
10
|
+
require 'rxfreader'
|
10
11
|
|
11
12
|
|
12
13
|
class DWSRegistry < XMLRegistry
|
13
|
-
include
|
14
|
-
|
14
|
+
include RXFRead
|
15
|
+
|
15
16
|
def initialize(filename='registry.xml', autosave: true, debug: false)
|
16
|
-
|
17
|
+
|
17
18
|
super(debug: debug)
|
18
|
-
|
19
|
-
@autosave = autosave
|
20
|
-
|
19
|
+
|
20
|
+
@autosave = autosave
|
21
|
+
|
21
22
|
if filename then
|
22
23
|
|
23
|
-
@filename = filename
|
24
|
-
|
24
|
+
@filename = filename
|
25
|
+
|
25
26
|
if FileX.exists? filename then
|
26
27
|
load_xml(filename)
|
27
28
|
else
|
28
29
|
save()
|
29
|
-
end
|
30
|
+
end
|
30
31
|
|
31
32
|
end
|
32
33
|
end
|
33
|
-
|
34
|
+
|
34
35
|
def gem_register(gemfile)
|
35
|
-
|
36
|
+
|
36
37
|
if gemfile =~ /^\w+\:\/\// then
|
37
|
-
|
38
|
-
code = Requestor.read(File.dirname(gemfile)) do |x|
|
38
|
+
|
39
|
+
code = Requestor.read(File.dirname(gemfile)) do |x|
|
39
40
|
x.require File.basename(gemfile)
|
40
41
|
end
|
41
|
-
|
42
|
+
|
42
43
|
eval code
|
43
|
-
|
44
|
+
|
44
45
|
else
|
45
|
-
|
46
|
+
|
46
47
|
require gemfile
|
47
|
-
|
48
|
+
|
48
49
|
end
|
49
|
-
|
50
|
+
|
50
51
|
if defined? RegGem::register then
|
51
|
-
|
52
|
-
self.import RegGem::register
|
52
|
+
|
53
|
+
self.import RegGem::register
|
53
54
|
true
|
54
|
-
|
55
|
+
|
55
56
|
else
|
56
57
|
nil
|
57
58
|
end
|
58
|
-
|
59
|
+
|
59
60
|
end
|
60
|
-
|
61
|
+
|
61
62
|
def get_key(path, auto_detect_type: false)
|
62
63
|
|
63
64
|
e = super path
|
64
65
|
|
65
66
|
return e unless auto_detect_type
|
66
|
-
|
67
|
+
|
67
68
|
raw_c = e.attributes[:type]
|
68
69
|
|
69
70
|
c = raw_c if raw_c
|
70
71
|
s = e.text
|
71
72
|
|
72
|
-
return e if e.elements.length > 0 or s.nil?
|
73
|
+
return e if e.elements.length > 0 or s.nil?
|
73
74
|
return s unless c
|
74
|
-
|
75
|
+
|
75
76
|
h = {
|
76
77
|
string: ->(x) {x},
|
77
|
-
boolean: ->(x){
|
78
|
+
boolean: ->(x){
|
78
79
|
case x
|
79
80
|
when 'true' then true
|
80
81
|
when 'false' then false
|
@@ -87,45 +88,45 @@ class DWSRegistry < XMLRegistry
|
|
87
88
|
time: ->(x) {Time.parse x},
|
88
89
|
json: ->(x) {JSON.parse x}
|
89
90
|
}
|
90
|
-
|
91
|
-
h[c.to_sym].call s
|
92
|
-
|
91
|
+
|
92
|
+
h[c.to_sym].call s
|
93
|
+
|
93
94
|
end
|
94
95
|
|
95
96
|
def set_key(path, value)
|
96
|
-
|
97
|
+
|
97
98
|
if @debug then
|
98
|
-
puts 'inside set_key path: ' + path.inspect
|
99
|
+
puts 'inside set_key path: ' + path.inspect
|
99
100
|
puts ' value: ' + value.inspect
|
100
101
|
puts ' value.class : ' + value.class.inspect
|
101
102
|
end
|
102
|
-
|
103
|
+
|
103
104
|
value, type = case value.class.to_s.downcase.to_sym
|
104
105
|
when :string then value
|
105
106
|
when :time then ["#%s#" % value.to_s, :time]
|
106
107
|
when :fixnum then [value.to_s, :number]
|
107
108
|
when :integer then [value.to_s, :number]
|
108
|
-
when :float then [value.to_s, :number]
|
109
|
+
when :float then [value.to_s, :number]
|
109
110
|
when :falseclass then [value.to_s, :boolean]
|
110
111
|
when :trueclass then [value.to_s, :boolean]
|
111
112
|
when :array then ["%s" % value.to_json, :json]
|
112
113
|
else value
|
113
114
|
end
|
114
|
-
|
115
|
-
e = super(path, value)
|
116
|
-
|
115
|
+
|
116
|
+
e = super(path, value)
|
117
|
+
|
117
118
|
type = find_type value unless type
|
118
119
|
e.attributes[:type] = type.to_s if type
|
119
120
|
e.parent.attributes[:last_modified] = Time.now.to_s
|
120
|
-
|
121
|
+
|
121
122
|
save() if @autosave
|
122
123
|
|
123
124
|
onchange = e.attributes[:onchange]
|
124
|
-
|
125
|
+
|
125
126
|
if onchange then
|
126
127
|
RScript.new.run onchange.sub('$value', value).split
|
127
128
|
end
|
128
|
-
|
129
|
+
|
129
130
|
e
|
130
131
|
end
|
131
132
|
|
@@ -139,27 +140,27 @@ class DWSRegistry < XMLRegistry
|
|
139
140
|
super(@filename)
|
140
141
|
end
|
141
142
|
|
142
|
-
def import(s)
|
143
|
+
def import(s)
|
143
144
|
super(s)
|
144
145
|
save() if @autosave
|
145
146
|
end
|
146
|
-
|
147
|
+
|
147
148
|
def refresh()
|
148
|
-
load_xml(@filename)
|
149
|
+
load_xml(@filename)
|
149
150
|
end
|
150
|
-
|
151
|
+
|
151
152
|
private
|
152
|
-
|
153
|
+
|
153
154
|
def add_value(key, value)
|
154
155
|
e = @doc.root.element(key)
|
155
156
|
e.text = value
|
156
157
|
return e
|
157
158
|
end
|
158
|
-
|
159
|
+
|
159
160
|
def find_type(v)
|
160
161
|
|
161
162
|
puts 'v: ' + v.inspect if @debug
|
162
|
-
|
163
|
+
|
163
164
|
if v[/^\d+$/] and v.to_i.to_s.length == v.length then :number
|
164
165
|
elsif v[/^\d+\.\d+$/] and v.to_f.to_s.length == v.length then :number
|
165
166
|
elsif v.downcase[/^(?:true|false|on|off|yes|no)$/] then :boolean
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dws-registry
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -10,27 +10,32 @@ bindir: bin
|
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
13
|
+
MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
|
14
|
+
YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjIwMjIzMTA1NzUxWhcN
|
15
|
+
MjMwMjIzMTA1NzUxWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
|
16
|
+
cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDTb0vH
|
17
|
+
MBuMaCXOK85XgvsoNui5BK0QjkmF7K3eQhHLXbjefSZf492l9JwyMn+pFuIJw0Ex
|
18
|
+
nmOttMWEeml7bGAzzCx467NQipWpvjI51dGOzGgV0x/gkWt8L7ARsvRpkLWlnvoP
|
19
|
+
N3uwKaC2jdilnSByYk9U6yk8HogVa/8wG3u74DTqe9S5hK6nRa+9HsPNFaUAA2uj
|
20
|
+
hZnsac/qbtAC0j1dUm8JsI+IN/fne8C4A2Yx6q/qaIKKtjDfVxU/ndE0EsqJPxKS
|
21
|
+
Y/r6BMDldmInLXww0uN8wBMimjvpNXNeUJWVTa30pISbJgypvaHZ7gyoayx4JJXN
|
22
|
+
ttPgIAC3uxvCkKzqRf5ZYISlbH+wbKboHx6JbKJyplwUIBmBX1TGQR1zreYWMrAc
|
23
|
+
QCF+J4Gy0TWyvE7vYMuoCYScrDOW1qgAs5h4C6uULtielzf0YtHj9d1UoCfVgX0E
|
24
|
+
SkLZmtqmvKwlh4pt5d31wDGRcgeZEiXwvL70EWf5/ZEYxVaOypeNSFid29sCAwEA
|
25
|
+
AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUowJRfw5D
|
26
|
+
klvChabJZhSMvL5PjF4wJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
|
27
|
+
c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
|
28
|
+
BgkqhkiG9w0BAQsFAAOCAYEAX/yzO2+tSE9ILK+33Wi3AlOjkiV5EyPmbt/zN3rq
|
29
|
+
ZvUT2HPhRbWbm51moUDhAnqTp3/3oSwbFwuzjHKn6D8S7zWEPwCOwChL0BsBM2fH
|
30
|
+
fr7kvGJ99Ox4ZGvuyVZd38udW0lZd8M//6179KFDMeYWPkAE9GNznGs0kQcJJouB
|
31
|
+
1/o+gXSpf2IDjk5jNL6wy5eybwI6k+UU2nk8FhfO0S0qEvWyldhvMrJZPyBxAULl
|
32
|
+
g1o/wESBNM84moSIsI8ifCGGr587eAoi7ee8f7gX6jIx86dmEktJk45hb2P4HFLh
|
33
|
+
JQtv79dblSdtDmOkSPmDno62VyyZ2WFYiRBcL1iOqduY+HxMee4Y58N2v+60g15y
|
34
|
+
zl3twGqOmIgxT6PlWIUhLXchNfPD2Y1E0ruwYOLYF8WkVYNaARxpXp4kEs2SPGFT
|
35
|
+
/ArK0zi1UbowqPGV8bDI5U/tQBYydUuDyqAjSF2aZ5XSherLHoK7aBGAaJKn2gwy
|
36
|
+
Zkhg8x25XmgmwWK1wohJdFY4
|
32
37
|
-----END CERTIFICATE-----
|
33
|
-
date:
|
38
|
+
date: 2022-02-23 00:00:00.000000000 Z
|
34
39
|
dependencies:
|
35
40
|
- !ruby/object:Gem::Dependency
|
36
41
|
name: xml-registry
|
@@ -38,42 +43,42 @@ dependencies:
|
|
38
43
|
requirements:
|
39
44
|
- - "~>"
|
40
45
|
- !ruby/object:Gem::Version
|
41
|
-
version: '0.
|
46
|
+
version: '0.8'
|
42
47
|
- - ">="
|
43
48
|
- !ruby/object:Gem::Version
|
44
|
-
version: 0.
|
49
|
+
version: 0.8.0
|
45
50
|
type: :runtime
|
46
51
|
prerelease: false
|
47
52
|
version_requirements: !ruby/object:Gem::Requirement
|
48
53
|
requirements:
|
49
54
|
- - "~>"
|
50
55
|
- !ruby/object:Gem::Version
|
51
|
-
version: '0.
|
56
|
+
version: '0.8'
|
52
57
|
- - ">="
|
53
58
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.
|
59
|
+
version: 0.8.0
|
55
60
|
- !ruby/object:Gem::Dependency
|
56
61
|
name: requestor
|
57
62
|
requirement: !ruby/object:Gem::Requirement
|
58
63
|
requirements:
|
59
64
|
- - "~>"
|
60
65
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0.
|
66
|
+
version: '0.5'
|
62
67
|
- - ">="
|
63
68
|
- !ruby/object:Gem::Version
|
64
|
-
version: 0.
|
69
|
+
version: 0.5.0
|
65
70
|
type: :runtime
|
66
71
|
prerelease: false
|
67
72
|
version_requirements: !ruby/object:Gem::Requirement
|
68
73
|
requirements:
|
69
74
|
- - "~>"
|
70
75
|
- !ruby/object:Gem::Version
|
71
|
-
version: '0.
|
76
|
+
version: '0.5'
|
72
77
|
- - ">="
|
73
78
|
- !ruby/object:Gem::Version
|
74
|
-
version: 0.
|
79
|
+
version: 0.5.0
|
75
80
|
description:
|
76
|
-
email:
|
81
|
+
email: digital.robertson@gmail.com
|
77
82
|
executables: []
|
78
83
|
extensions: []
|
79
84
|
extra_rdoc_files: []
|
@@ -98,8 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
98
103
|
- !ruby/object:Gem::Version
|
99
104
|
version: '0'
|
100
105
|
requirements: []
|
101
|
-
|
102
|
-
rubygems_version: 2.7.6
|
106
|
+
rubygems_version: 3.2.22
|
103
107
|
signing_key:
|
104
108
|
specification_version: 4
|
105
109
|
summary: An XML registry which stores the Ruby data type as well as the value
|
metadata.gz.sig
CHANGED
Binary file
|