xmlregistry_objects 0.7.5 → 0.8.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 3fbc0fb1ce7061f4391ae03e04c1a51ca5b39830
4
- data.tar.gz: 425550d56e16bf7244aad9b35898028ee8063c87
2
+ SHA256:
3
+ metadata.gz: cc95b8fd15a36a13fc93bd48f1bc0840cfadd1ff5cc9f0735e6bd65b2bc94ec6
4
+ data.tar.gz: 2bffbe5094f477efaf7a67eb734ad16f9a46314eeac3b3c85ac63a98e95dc8d4
5
5
  SHA512:
6
- metadata.gz: 32d06305c7da2939357e435406be9afaefc60b32451f84f3086dff77670e02fd3c449c48523a18aaddd4baf806046b45dae9ec0f4600309784fdcb3f793ce053
7
- data.tar.gz: 79a239c3b7d46257aa892c2bdbb36806d4594510eb113abb6ce2e7f2a850a2da8dd8ef9700062d50490c1cc0e2bdb2e958528a2d4fa724fe5e359b93c6b23878
6
+ metadata.gz: 546866da99885b618030623ea8c5069cdabc2a24fd2ab5fd549eabbbd34d4a53b6898df666991cfe2f43247b1646e44ae3248d105cd2575d091f36cde623b2af
7
+ data.tar.gz: 0a9206005c018a091301ddfc90b72a0ddd842c3e0e8ab9b29df632594a531d7203d53449e14d65d951d8a59333a062c80ab3fa52d7f95dba47e7d9779b97becb
checksums.yaml.gz.sig CHANGED
Binary file
@@ -5,6 +5,7 @@
5
5
 
6
6
  require 'polyrex'
7
7
  require 'dws-registry'
8
+ require 'rxfreader'
8
9
 
9
10
 
10
11
  class XMLRegistryObjects
@@ -15,14 +16,14 @@ class XMLRegistryObjects
15
16
 
16
17
  @log = log
17
18
  log.info 'XMLRegistryObjects/initialize: active' if log
18
-
19
- polyrexdoc = if obj.is_a? Polyrex then
20
-
19
+
20
+ polyrexdoc = if obj.is_a? Polyrex then
21
+
21
22
  obj
22
-
23
+
23
24
  elsif obj.is_a? String then
24
-
25
- buffer, type = RXFHelper.read obj
25
+
26
+ buffer, type = RXFReader.read obj
26
27
 
27
28
  if type == :url then
28
29
  Polyrex.new buffer
@@ -31,9 +32,9 @@ class XMLRegistryObjects
31
32
  "methodx[name,subkeyname]' delimiter=' = '?>\n" + obj
32
33
  end
33
34
  end
34
-
35
+
35
36
  log.info 'XMLRegistryObjects/initialize: before @to_h' if log
36
-
37
+
37
38
  @to_h = polyrexdoc.records.inject({}) do |rtn, row|
38
39
 
39
40
  name, path = row.name, row.regkey[1..-2]
@@ -44,23 +45,23 @@ class XMLRegistryObjects
44
45
  def initialize(reg)
45
46
  @reg = reg
46
47
  end
47
-
48
+
48
49
  def last_modified()
49
50
  lm = @reg.get_key('#{path}').attributes[:last_modified]
50
51
  Time.parse(lm) if lm
51
52
  end
52
-
53
- def set(h)
54
-
53
+
54
+ def set(h)
55
+
55
56
  h.each {|key,value| self.method((key.to_s + '=').to_sym).call value }
56
-
57
+
57
58
  end
58
59
  "
59
60
 
60
61
  s = if row.records.any? then
61
62
 
62
63
  row.records.inject(base_methods) do |r, attr|
63
-
64
+
64
65
  attr_name, subkey = attr.name, attr.subkeyname[/\w+$/]
65
66
  key = path + '/' + subkey
66
67
 
@@ -72,60 +73,60 @@ class XMLRegistryObjects
72
73
  else
73
74
 
74
75
  a = reg.xpath("#{path}/*")
75
-
76
- a.inject(base_methods) do |r, x|
76
+
77
+ a.inject(base_methods) do |r, x|
77
78
 
78
79
  methods_name = subkey = x.name
79
80
 
80
- type = x.attributes[:type]
81
+ type = x.attributes[:type]
81
82
  key = path + '/' + subkey
82
-
83
- r << make_setdef(key, method_name=subkey)
84
83
 
85
- method_name += '?' if type and type == 'boolean'
84
+ r << make_setdef(key, method_name=subkey)
85
+
86
+ method_name += '?' if type and type == 'boolean'
86
87
  r << make_def(key, method_name)
87
88
 
88
89
  end
89
90
  end
90
-
91
+
91
92
  log.info 'XMLRegistryObjects/initialize: before class_eval ' + klass.to_s if log
92
-
93
+
93
94
  klass.class_eval s
94
95
  rtn.merge name.to_sym => klass.new(reg)
95
96
 
96
97
  end
97
-
98
+
98
99
  log.info 'XMLRegistryObjects/initialize: completed' if log
99
100
  end
100
-
101
+
101
102
  def define_methods()
102
103
  @to_h.each.map {|k,v| "define_method :#{k.to_s}, ->{h[:#{k}]}"}.join("\n")
103
104
  end
104
-
105
- # to use this method the client is expect to fetch the
106
- # hash object from the registry object e.g.
105
+
106
+ # to use this method the client is expect to fetch the
107
+ # hash object from the registry object e.g.
107
108
  # xro = XMLRegistryObjects.new(reg,list)
108
109
  # @h = xro.to_h
109
-
110
+
110
111
  def define_methods2(obj=nil)
111
-
112
+
112
113
  a = @to_h.each.map {|k,v| [k.to_s.to_sym, ->{@h[k.to_sym]} ] }
113
-
114
+
114
115
  if obj then
115
-
116
+
116
117
  a.each {|name, blk| obj.class.send(:define_method, name, blk) }
117
-
118
+
118
119
  else
119
-
120
+
120
121
  return a
121
-
122
+
122
123
  end
123
-
124
- end
124
+
125
+ end
125
126
 
126
127
  private
127
128
 
128
- def make_def(key, method_name)
129
+ def make_def(key, method_name)
129
130
  <<-EOF
130
131
  def #{method_name}()
131
132
  @reg.get_key('#{key}', auto_detect_type: true)
@@ -133,9 +134,9 @@ end
133
134
 
134
135
  EOF
135
136
  end
136
-
137
- def make_setdef(key, method_name)
137
+
138
+ def make_setdef(key, method_name)
138
139
  "def #{method_name}=(v) @reg.set_key '#{key}', v end\n"
139
- end
140
+ end
140
141
 
141
142
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xmlregistry_objects
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.5
4
+ version: 0.8.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
- MIIDXjCCAkagAwIBAgIBATANBgkqhkiG9w0BAQUFADAsMSowKAYDVQQDDCFnZW1t
14
- YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMTgwMzMwMTIxNDQ4WhcN
15
- MTkwMzMwMTIxNDQ4WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
- cnRzb24vREM9ZXUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCy0iA2
17
- vlwAvCCK8CjOZ91TG0iUuCEG0MeBhkJODUdQy/zeiCajCwYr/hYV0sRVswyqc+IB
18
- FcReWmX0ZfbWJNVxiJnyyB90M1SIn2rdXzNwjEZPWlZUdc6lQvhwNt5R7FvVzZ7C
19
- hm9n4vVswVbQJjBiSGLL5WvNBqkxhR6l0TFk6O8+FN3qDY8Z56HaHj5URagcPn8I
20
- enrjbJeZpRFj6xgGSaq8t1B0UkzItQbPPgOATLvJzTaP5e8I5UV+n3kVaB7g1j2T
21
- EyhlvLE02gU3CvnhJqKkysCKWLwauPvODMRrV7e857DlpZ/HCT8LqTxMgSP3+zwl
22
- r6zAnEnT20GXJFwPAgMBAAGjgYowgYcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
23
- HQYDVR0OBBYEFOyOmlw/ZNQVneN/uGabIkUGcITcMCYGA1UdEQQfMB2BG2dlbW1h
24
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTAmBgNVHRIEHzAdgRtnZW1tYXN0ZXJAamFt
25
- ZXNyb2JlcnRzb24uZXUwDQYJKoZIhvcNAQEFBQADggEBAIwUSA3suyVtNUAQ4lS6
26
- 6ibQXfbw3DVduj2kWw3h6C3M1idqau2xEi95Qig9MIEyRSVXziq2cT4e/9MD+WOp
27
- SNwsGU9f9rw1v9Fsy8X44nfFD+7L2+9a9vj/duDDc2e/++SIclGTeI7thMUY5Ff3
28
- RVhvVEGS5NdofXxJMxdkbVQsaPlHPAti5eZNtsGAs0zngTrkVF7T1yiWkEg71tRE
29
- 1PRk58f/fUcie0RFlBui4Io0oL+Vil95pKQxzuDr72w7wjNjTTbs4eDOV0oALKVl
30
- y/nlAUJTS93PaSmfCw2aeMguqZ3S8yWLLGX76WaLLle7rbSOK95gfYGOgMqXbkTg
31
- DbI=
13
+ MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjIwMjIyMjAzMzQwWhcN
15
+ MjMwMjIyMjAzMzQwWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDjoLXS
17
+ JY+GeI0u2RX39kso2JcNAsJ6/nlvNKRbADfUhw/J67b65yUVFYyUx/5bp3hf+Mc9
18
+ ZewemRjK8SouGnUNgToIjCklCpfR5CV/jj0ELMQ3MwiZWjnkEVouAGFxDuR5L7z6
19
+ ayd8gbpMx6XVdWCFLqwU0f94VHVU5i+ZAfaKmmcTC4rx3DN9Q4e85eUFuOLb9IaY
20
+ OzdXF162GC1TJ+CQz9rwa6RAWpMvAQOOS/0H/rgYcSvsnAkgGIq/lxdfTAVJ61Q/
21
+ xgKFbX75D4d2tyhlzXC2HpFmWJ/f630zh0r1rpIT/K2WY0jPV9cpsIYSFQrA6Wlp
22
+ pDcEPw6lryGXnluUmnmw+5sZ+6v9XedHI3OAoc1ZbNzAhu1zbm5j+D9De94bk3TM
23
+ p5fHGG49DG553os4sJImBazjKUbM6rwNUH1g3hNWvtHyP5q8I5hSH7F/9DCODwfQ
24
+ eil4CMfmalAZxnXhNd/R9IuS+Ry9uFPfnWQb7IZC5GlEQgSURY7vikaTNVECAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUYfu9sis1
26
+ o3vFFRPkh/7sVOBNwI8wJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
+ c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
+ BgkqhkiG9w0BAQsFAAOCAYEAZNqTY2Edz/epqyDfis6xaOYVQtYEtzRD3v2pRPBx
29
+ 5y9MxMsbvDjZc/oMIg33p2Vl8g6++FblRMUpV73q76pMwmojAEQMek6cCpEFFEpk
30
+ ZLL2RX/zW4U4DS+NdC3lMCTIg9x2MeAiqpzbacMOztiZNvsoLBMBgNxhhN2CEJvd
31
+ TjtB0ua2T8QB1pLdi7YuhxSkIRqXFSvhvB+kkQrgj918kLhyVM2fG1bFhG7neTSe
32
+ HfpFDgLOjZODHv/XMDI3YtyOLvFmUcQZnGwLAlpDT/GoEF71Mt3Ncnt9Z2Qt5gkr
33
+ p0+dnQ2LSGJRkn/RkGz3HM7aJcEV/nZO5b/7h61JbQ6Sg9p6Ailmub27VF6YUsO5
34
+ fAZEEr9vu8+K5z8LD0W7sdGbUMiz6qLKYzL5A1ERYZBqlY7J6Bo0alRRclzDpcJV
35
+ xxskbsrcVBnIBOJst+8ciwIklNVWeyO9DgHgc7XczsjNVAwtBywJ2OqePLHwzypv
36
+ j1b+b2ovUi70hCFO+BJGE3t0
32
37
  -----END CERTIFICATE-----
33
- date: 2018-03-30 00:00:00.000000000 Z
38
+ date: 2022-02-22 00:00:00.000000000 Z
34
39
  dependencies:
35
40
  - !ruby/object:Gem::Dependency
36
41
  name: dws-registry
@@ -38,42 +43,42 @@ dependencies:
38
43
  requirements:
39
44
  - - "~>"
40
45
  - !ruby/object:Gem::Version
41
- version: '0.4'
46
+ version: '0.5'
42
47
  - - ">="
43
48
  - !ruby/object:Gem::Version
44
- version: 0.4.0
49
+ version: 0.5.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.4'
56
+ version: '0.5'
52
57
  - - ">="
53
58
  - !ruby/object:Gem::Version
54
- version: 0.4.0
59
+ version: 0.5.0
55
60
  - !ruby/object:Gem::Dependency
56
61
  name: polyrex
57
62
  requirement: !ruby/object:Gem::Requirement
58
63
  requirements:
59
64
  - - "~>"
60
65
  - !ruby/object:Gem::Version
61
- version: '1.2'
66
+ version: '1.4'
62
67
  - - ">="
63
68
  - !ruby/object:Gem::Version
64
- version: 1.2.0
69
+ version: 1.4.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: '1.2'
76
+ version: '1.4'
72
77
  - - ">="
73
78
  - !ruby/object:Gem::Version
74
- version: 1.2.0
79
+ version: 1.4.0
75
80
  description:
76
- email: james@jamesrobertson.eu
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
- rubyforge_project:
102
- rubygems_version: 2.6.13
106
+ rubygems_version: 3.2.22
103
107
  signing_key:
104
108
  specification_version: 4
105
109
  summary: Query the registry using objects built dynamically from a string which maps
metadata.gz.sig CHANGED
Binary file