polyrex-schema 0.1.12 → 0.1.13

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: 8d0a1267e6b0dc185b3f0741de33ea13a4c01fe8
4
- data.tar.gz: bfe289c07f45ce97294fd4e9bed9ec6e9170fe34
3
+ metadata.gz: 9661716a6acfe6957022f375d9d1a519c5fd6732
4
+ data.tar.gz: cf85e1603701dcd6f7530f664a30164fcdde3a09
5
5
  SHA512:
6
- metadata.gz: ec19d23553f331169f3a67e75b876a5358c3810ad1f3771cba6171546cae907dd3785a23e9275b48c4bd9eb32f13ebc7280552137488c2a1ab74ecf838eca7b6
7
- data.tar.gz: 6a1428fddd2294ddc0772004fc27f946fead899ae416d48e11d960c2271fda94ce7d0c757c85ab9eaa787e3f462fbcbf476190a084c36cd9db49c651a7306a09
6
+ metadata.gz: d8a17a4e0aa7e621635b2146f801603249ef38ba24e26a05350b05b060f59a73ae65e0c5b6251745b660d963d618dfc54173c7bc6d23b89c8e370ca33f5a1ee5
7
+ data.tar.gz: 7b0e015ceec7073c60f93ce373cfb2672e9899b1a1b7724f8c6746cb43719d20dfdcde180a977bb2cdb03ae189d26484b644cfbc2dc2290de95c884b756a05ca
checksums.yaml.gz.sig CHANGED
@@ -1,5 +1,4 @@
1
- `�j��&��!�r�H
2
- >@ �
3
- <,y��1�;��$��sMjq6�D���la�Į9ó�-�l����2z��{��c�bS���.O"B��–&�ً�ʰ�}����S��'��=O@�|M�H�p����U��)V?���K\�]:%� oܺ���\�"����'��
4
- %-�\a{@qU#D
5
- n�w�,�����Ko�^��� 3F�b/K����~�i���F�9�_��u C[���˩�^��4�Z�h�V�2k
1
+ ����%�Hy�S��<��C���i��q���ع!�B [���|$�2vz�Oso�߶o���)ͯ97�ӇJ ��
2
+
3
+ ��=��c��~Il�]���NPA3��z�d
4
+ �����-6s��*����ҵL�䶔���K
@@ -8,63 +8,43 @@ class PolyrexSchema
8
8
 
9
9
  def initialize(s)
10
10
 
11
- node = nil
12
-
13
- s.scan(/\w+\[[^\]]*\]|\w+/).each do |x|
14
-
15
- b1, b2 = x.split('[')
16
-
17
- if b2 then
18
-
19
- node = append_node(node, b1) do |summary|
20
-
21
- fields = b2.scan(/\w+(?=[,\]])/)
22
- fields.each {|x| summary.add Rexle::Element.new x}
23
- summary.add Rexle::Element.new('format_mask').add_text(fields.map {|x2| "[!%s]" % x2}. join(' '))
24
-
25
- end
26
-
27
- else
28
- node = append_node(node, x)
29
- end
30
- end
31
-
32
- summary = @doc.root.element 'summary'
33
- summary.add_element Rexle::Element.new('recordx_type').add_text('polyrex')
34
- summary.add_element Rexle::Element.new('schema').add_text(s)
11
+ a = s.split('/')
35
12
 
13
+ r = add_node a
14
+ r[3] << node('recordx_type', 'polyrex') << node('schema',s)
15
+ @doc = Rexle.new(r)
36
16
  end
37
17
 
38
- def to_s
39
- @doc.to_s
18
+ def to_doc()
19
+ @doc
40
20
  end
41
21
 
42
- def to_doc
43
- @doc
22
+ def to_s()
23
+ @doc.to_s
44
24
  end
45
25
 
46
26
  private
47
27
 
48
- def append_node(node, name)
28
+ def node(name, val='', *children)
29
+ [name, val, {}, *children]
30
+ end
49
31
 
50
- new_node = Rexle::Element.new name
51
- summary = Rexle::Element.new 'summary'
52
- yield(summary) if block_given?
32
+ def add_node(a)
53
33
 
54
- new_node.add summary
55
- records = Rexle::Element.new 'records'
56
- new_node.add records
34
+ return if a.empty?
57
35
 
58
- if node.is_a? Rexle::Element then
59
- node.add new_node
60
- elsif node.is_a? Rexle then
61
- node.root.add new_node
62
- else
63
- @doc = Rexle.new(new_node.xml)
64
- node = @doc
65
- end
36
+ name, raw_fields = a.shift.split('[')
37
+
38
+ rows = if raw_fields then
66
39
 
67
- node.element('*/records')
40
+ fields = raw_fields.chop.split(',')
41
+ field_rows = fields.map {|field| node(field.strip) }
42
+ field_rows << node('format_mask', fields.map{|x| "[!%s]" % x}.join(' '))
43
+ end
68
44
 
45
+ node(name, '',
46
+ node('summary', '', *rows), node('records', '', add_node(a))
47
+ )
69
48
  end
49
+
70
50
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polyrex-schema
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.12
4
+ version: 0.1.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -10,26 +10,28 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDRDCCAiygAwIBAgIBADANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
13
+ MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
14
  YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
- 8ixkARkWAmV1MB4XDTEzMDIwNjIxMDE1MVoXDTE0MDIwNjIxMDE1MVowSDESMBAG
15
+ 8ixkARkWAmV1MB4XDTE0MDMxODE2MTEwMFoXDTE1MDMxODE2MTEwMFowSDESMBAG
16
16
  A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
17
  EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBAMcqGCw1ax1X+55qmYCpXWe5qN028pXo2hmhbuYOBhdCR1ZatMDlzdN7YNGm
19
- U9vldqHNPEJ6SkYzbZRu5rkZ8EBzLjo0KvhnNGyBDZwy00DdkXOc1aYg5zMPmCSq
20
- tC3FxgLqI62sZKs029sV3RgHCsKcOlAb6tEkj/gKV0juQO6UmhA8BGmNp58ViUav
21
- DIoWnAiN6n2WGLbKCLOXktkiaiO0cLMbsVjP/RBosINAfVfEz8cxE7BUbQpCIv9T
22
- KvpSCMqODJRhTHEenA/CleJJN2gXrHvj+8Rj1k1Dx8WlSz+gqGVo5P242lIwNjAk
23
- fj+x6O6BmphxYmTmU6hRdX96ZtUCAwEAAaM5MDcwCQYDVR0TBAIwADAdBgNVHQ4E
24
- FgQUcHMvWoWmNZONjlOGeCLfhPErJZUwCwYDVR0PBAQDAgSwMA0GCSqGSIb3DQEB
25
- BQUAA4IBAQA+HbwAQajcjwVtOlDjd8QyWYtY2PwKMWDtFMLirPVCEJ23Zj1BVwk8
26
- eA2lGr/j/QAKI26ckknY+ffEjUrZkMp5vCq3klvVaphKk/wlAped9dFp4dbn3vlz
27
- ZpMoYwfYEOqWU0lVcDBOKJWBvQK5KKVPW+qW/6w44tyfslUOhT1BQHhOcaPCuIF7
28
- KOwTfE6dKeHfq4Ca9eogUCenzEqEmF6w1fmyuKNN0yClGnswr0uWeaqN45heMeGD
29
- beGTlriu3KY9HJSxKVChgcCT15CmSno+zJ9Kg39GFXl5lMNeg5wihVN0tlU/NdUB
30
- /3MvKYJbiVCDpwRsMfh0T8UVrl9kAn4H
18
+ ggEBANQqAVGLJSqOEoZ1UH0Zo7z17uZ8jqw/2d2mk8wBeV8XzrSzMepuCohWonQQ
19
+ DIubtgMZwOwGa5BYB4t4IU1AzjBMEUVGrtQgQvxEJu1XPeE6HAp+oCYbh2+xRR5S
20
+ QLYDsv94vqJkjd1i7amvwGPJDVKbzMcltuPeYIelZX822cJCMjRd896Ig3ydTXEH
21
+ dHRxbecgjR0IV8mfi9NIDrc1adfziUKjqugnUXjUHZDlicvKaG46KufJ1idmOW08
22
+ Isc3CqpZTcgy1MpVasd/NMSZGULQtg4ZKbomZYa2mLgM6bHNI8WdWKYIappu01hn
23
+ cVK/VZAt1VJbEJRkYc6htGLUxgMCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQU3nJ4etC17X2zAQF/vKx+xbEzw7YwJgYDVR0RBB8w
25
+ HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEApvtdNfgr
27
+ yzZYXlYckG9t6y1s8RQjJp7mzt79tjCZKLt9N+8PGHAQi+ub+FTpRMSThulgiP3G
28
+ 12gENjIxmMyoDYP0QclKkE5NgzNmvRSVZUZkt2mxV8PIv9BwpQy8LSPc9Ts+uEOJ
29
+ +TvzCxGSi6ve7CWx5NpjUcfWLNl05M9n+ivqNvolLc1/8lOkhYmCmtQ0TCfgjnp0
30
+ caaSH68UGqO/gSpoKNJENjRGnMpgdXRXd6yxSujyFb38gMnLeQ9S+OQvH/HUW4gW
31
+ x3ppGgUf/zri8F8syPC4U/PhiV9ZBYGjFZDoQWr9TW6gJ1rEPuB1RYH9RPLaSYy4
32
+ SFJGImVxuM2M+Q==
31
33
  -----END CERTIFICATE-----
32
- date: 2013-12-27 00:00:00.000000000 Z
34
+ date: 2014-03-18 00:00:00.000000000 Z
33
35
  dependencies:
34
36
  - !ruby/object:Gem::Dependency
35
37
  name: rexle
@@ -72,7 +74,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
72
74
  version: '0'
73
75
  requirements: []
74
76
  rubyforge_project:
75
- rubygems_version: 2.1.11
77
+ rubygems_version: 2.0.14
76
78
  signing_key:
77
79
  specification_version: 4
78
80
  summary: The polyrex-schema gem creates Polyrex XML from an initial shorthand schematic
metadata.gz.sig CHANGED
Binary file