xmlregistry_objects 0.4.0 → 0.5.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
2
  SHA1:
3
- metadata.gz: ffd071583302df7de17d0eb36de37b29c4881630
4
- data.tar.gz: b061a0f8c874b38f09170a52916aba49be281bff
3
+ metadata.gz: bfe8ced78cb4a581e54af1eac009e45dbbfd8380
4
+ data.tar.gz: e2f10a9dc964aad8cd0e9c9bc3d9f5b5c4327c30
5
5
  SHA512:
6
- metadata.gz: 6cfea288a2540674418a3ad2bc7a761cdb8038b426dcbdd8e498d1b4bdd9c5fcc41629cfb21b69730d536d8949bef3b6c909d5380e8bd17cba52579b83bac6c0
7
- data.tar.gz: c22e554c29b4b809d95de099b46d5f5d52bb906641019955322f5c6117bbe1af08fc40669027cf640d5c333c91b027d0939e3722a0b23cf4c9cfce9427786d93
6
+ metadata.gz: 2c83879b3048040c39cc8fb1d4d20c461264145422b8308a42a3499d5334794eb7647c68313586726900440f967f790066cc9beb932419b399ea6a33183f6044
7
+ data.tar.gz: f8abb8384f7982bf6c6bc8d61544afd5f9b4dafb87d4eaa3eb6a65567cfe5bf2590147905728e7b67b1c519e7d32ea73f5e85d36a313b275c57f8148e21dca32
checksums.yaml.gz.sig CHANGED
Binary file
@@ -11,7 +11,17 @@ class XMLRegistryObjects
11
11
 
12
12
  attr_reader :to_h
13
13
 
14
- def initialize(reg, polyrexdoc)
14
+ def initialize(reg, obj)
15
+
16
+ polyrexdoc = if obj.is_a? Polyrex then
17
+
18
+ obj
19
+
20
+ elsif obj.is_a? String then
21
+
22
+ Polyrex.new.import "<?polyrex schema='entries/object[name, regkey]/"\
23
+ "methodx[name,subkeyname]' delimiter=' = '?>\n" + obj
24
+ end
15
25
 
16
26
  @to_h = polyrexdoc.records.inject({}) do |rtn, row|
17
27
 
@@ -30,17 +40,28 @@ class XMLRegistryObjects
30
40
  row.records.inject(s) do |r, attr|
31
41
 
32
42
  attr_name, subkey = attr.name, attr.subkeyname
43
+ key = path + '/' + subkey
33
44
 
34
- r << make_def(path, subkey, attr_name)
45
+ r << make_def(key, attr_name)
46
+ r << make_setdef(key, attr_name[/\w+/])
35
47
 
36
48
  end
37
49
 
38
50
  else
39
51
 
40
- names = reg.xpath("#{path}/*/name()")
52
+ a = reg.xpath("#{path}/*")
41
53
 
42
- names.inject(s) do |r, subkey|
43
- r << make_def(path, subkey)
54
+ a.inject(s) do |r, x|
55
+
56
+ methods_name = subkey = x.name
57
+ type = x.attributes[:class]
58
+ key = path + '/' + subkey
59
+
60
+ r << make_setdef(key, method_name=subkey)
61
+
62
+ method_name += '?' if type and type.first == 'boolean'
63
+ r << make_def(key, method_name)
64
+
44
65
  end
45
66
  end
46
67
 
@@ -56,12 +77,12 @@ class XMLRegistryObjects
56
77
 
57
78
  private
58
79
 
59
- def make_def(path, subkey, method_name=subkey)
60
- "
61
- def #{method_name}
62
- @reg.get_key('#{[path, subkey].join('/')}')
63
- end
64
- "
80
+ def make_def(key, method_name)
81
+ "def #{method_name}() @reg.get_key '#{key}' end\n"
65
82
  end
83
+
84
+ def make_setdef(key, method_name)
85
+ "def #{method_name}=(v) @reg.set_key '#{key}', v end\n"
86
+ end
66
87
 
67
88
  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.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -31,7 +31,7 @@ cert_chain:
31
31
  wqxRKfbBOqXm+dGN+8ORUi9zTMOCo8Ga+cAbwYouf3Rzoq8gZMo6o1ZuAyEu1Vjl
32
32
  u2W9v1mcGY4/Vw==
33
33
  -----END CERTIFICATE-----
34
- date: 2015-03-07 00:00:00.000000000 Z
34
+ date: 2015-03-09 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: dws-registry
@@ -42,7 +42,7 @@ dependencies:
42
42
  version: '0.2'
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
- version: 0.2.1
45
+ version: 0.2.4
46
46
  type: :runtime
47
47
  prerelease: false
48
48
  version_requirements: !ruby/object:Gem::Requirement
@@ -52,7 +52,7 @@ dependencies:
52
52
  version: '0.2'
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: 0.2.1
55
+ version: 0.2.4
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: polyrex
58
58
  requirement: !ruby/object:Gem::Requirement
metadata.gz.sig CHANGED
Binary file