xmlregistry_objects 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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