xmlregistry_objects 0.1.0 → 0.2.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: 617c355f443a3804be6220e2c8b1c4ff56d147c7
4
- data.tar.gz: 3da106e336c6ded540a4981e30e433f8d81620bd
3
+ metadata.gz: b667141471cbe8f34c1d0c0d88209df77b36261f
4
+ data.tar.gz: e6440b8f3e37684e61e9c23a1d62e28b2dacd15a
5
5
  SHA512:
6
- metadata.gz: d435d116cd01d0c2bcd8a727ae1492cc65ee1edba84aa08c5f66621ae88b3a013fa2e3e802d59e3280ce6ef7d9defdd4aabb952ca821f222fde583b78f6af2c9
7
- data.tar.gz: c77b0b61f217e138fec81a32011eb8e94c0cd3a7c01e7fac9823add60f4567d51d94caebbe8a8a189647dc725c1b7c395b0083891cb3b63aa4c703e99ee99ae2
6
+ metadata.gz: 2000ce0f3619121f9ec33e6906fdfd07caeb49a95970d50c53c3bbdf787e48f8e6a9236f2c3a7ee397d683fd2a36cb5b8f588997d56354df3423c154ae1fe370
7
+ data.tar.gz: aa61a4337c942eaa06bac20e38f368dff761076d65fdd647ca616c00ef99efb3a50494f856ced545e09376b6e7fbeeb8db626534d3489c6dcf88cccd50138035
checksums.yaml.gz.sig CHANGED
@@ -1,2 +1,3 @@
1
- x~拠 t�%�k���%S/WjSnmD�䧇Ju=A�� �W��ؿ��3��/҂޸8�}�(7Epب��Z�����U���������J?@��%��Q�:�kw�� �;�kHY}�E
2
- L`�7��er�u���.�� ��ǀaN�$�K!z(��/4�� �j���Ij�I ��P��E�Ɇ��f���E���Wߛͦ/5c�>�b߲k&wE�
1
+ �`�NCL%|c -��$'�+�8w��5=�K���\=�+�A�L�;6a2S�#�ԥ�3M�v@�)��8�Nk0_2j=R�`�O�yk��yZ�wyZ����� Y"�h��0-$��ɯ���Q�������_Q?�������C,�~/B|v<=���1k"�7���?F!MlSȅ��6> ���뾶Ǜ���M���|,��E��<��4
2
+ �(�H����6¥QI�\d��,�Vj^�e
3
+
@@ -15,53 +15,61 @@ class XMLRegistryObjects
15
15
 
16
16
  def initialize(reg, list)
17
17
 
18
-
19
18
  patterns = [
20
19
  [:root, /(\w+)\s+=\s+\[([^\]]+)\]/, :object],
21
20
  [:object, /([\w\?]+)\s+=\s+(.*)/, :attribute]
22
21
  ]
23
22
 
24
-
25
23
  lp = LineParser.new patterns
26
24
  r = lp.parse list
27
25
 
28
-
29
26
  @to_h = r.inject({}) do |rtn, row|
30
27
 
31
28
  name, path = row[1][:captures]
32
29
  class_name = name.capitalize
33
30
  klass = Object.const_set(class_name,Class.new)
34
31
 
32
+ s = "
33
+ def initialize(reg)
34
+ @reg = reg
35
+ end
36
+ "
35
37
 
36
- row[3].each do |attr|
37
-
38
- attr_name, x = attr[1][:captures]
38
+ s = if row[3].any? then
39
39
 
40
- subkey, type = x.split(/\s/).reverse
40
+ row[3].inject(s) do |r, attr|
41
41
 
42
- s = "
42
+ attr_name, x = attr[1][:captures]
43
+ subkey, type = x.split(/\s/).reverse
43
44
 
44
- def initialize(reg)
45
-
46
- @reg = reg
45
+ r << make_def(path, subkey, attr_name, type)
47
46
 
48
47
  end
49
48
 
50
- def #{attr_name}
49
+ else
51
50
 
52
- text = @reg.get_key('#{[path, attr_name].join('/')}/text()')
53
- #{'text == %q(true) ? true : false' if type == 'Bool'}
51
+ names = reg.xpath("#{path}/*/name()")
52
+
53
+ names.inject(s) do |r, subkey|
54
+ r << make_def(path, subkey)
54
55
  end
55
- "
56
-
57
- klass.class_eval s
58
-
59
56
  end
60
57
 
58
+ klass.class_eval s
61
59
  rtn.merge name.to_sym => klass.new(reg)
62
60
 
63
61
  end
62
+ end
63
+
64
+ private
64
65
 
66
+ def make_def(path, subkey, method_name=subkey, type=nil)
67
+ "
68
+ def #{method_name}
69
+ text = @reg.get_key('#{[path, subkey].join('/')}/text()')
70
+ #{'text == %q(true) ? true : false' if type == 'Bool'}
71
+ end
72
+ "
65
73
  end
66
74
 
67
- end
75
+ 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.1.0
4
+ version: 0.2.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: 2014-08-20 00:00:00.000000000 Z
34
+ date: 2014-08-21 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: xml-registry
@@ -39,40 +39,40 @@ dependencies:
39
39
  requirements:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: '0.2'
42
+ version: '0.3'
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
- version: 0.2.3
45
+ version: 0.3.0
46
46
  type: :runtime
47
47
  prerelease: false
48
48
  version_requirements: !ruby/object:Gem::Requirement
49
49
  requirements:
50
50
  - - "~>"
51
51
  - !ruby/object:Gem::Version
52
- version: '0.2'
52
+ version: '0.3'
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: 0.2.3
55
+ version: 0.3.0
56
56
  - !ruby/object:Gem::Dependency
57
- name: line-tree
57
+ name: lineparser
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '0.3'
62
+ version: '0.1'
63
63
  - - ">="
64
64
  - !ruby/object:Gem::Version
65
- version: 0.3.17
65
+ version: 0.1.13
66
66
  type: :runtime
67
67
  prerelease: false
68
68
  version_requirements: !ruby/object:Gem::Requirement
69
69
  requirements:
70
70
  - - "~>"
71
71
  - !ruby/object:Gem::Version
72
- version: '0.3'
72
+ version: '0.1'
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 0.3.17
75
+ version: 0.1.13
76
76
  description:
77
77
  email: james@r0bertson.co.uk
78
78
  executables: []
metadata.gz.sig CHANGED
Binary file