polyrex-schema 0.1.12 → 0.1.13

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: 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