polyrex-schema 0.1.18 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +3 -2
- data.tar.gz.sig +0 -0
- data/lib/polyrex-schema.rb +26 -0
- metadata +3 -3
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 788909c08a189b5bb66c39e405b04b5cac691bda
|
4
|
+
data.tar.gz: 79dffdd0919d0465d17e1a1020a91a9c679fa2a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b0dbe63e6b8eff1c708f32ff3a7c1d9b8fa163a4b3cf194e4c2f9e95a3497671864f47fea288cdd0463500434425ccc79d954e2f940e4ee36805f3b408b4f25c
|
7
|
+
data.tar.gz: 943b2b22661645554198572f5c19393c9a4351deec9f5e48c486b505d86705bf221e8af007704b13a9b7327462abb710711da862f908febefb4012c8b1f0195b
|
checksums.yaml.gz.sig
CHANGED
@@ -1,2 +1,3 @@
|
|
1
|
-
�����
|
2
|
-
|
1
|
+
G<�}�c�~�2<��f���~��x^��C�[��۪�ۍjd��Mþ�e�OF�hW�����m`��N&�3 �y����L��\�#7��0b�>A�<�sA/��n��cCѐM^�����nI@��y��@tq)���r�CY�hM��މ��.&�d4��Z��9�
|
2
|
+
�
|
3
|
+
���둴��:mb>&��mVi��ꔩ��l� j���"v�V�|V��ӽj�h��Xj��ޱcwF�iex[}��;U
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/polyrex-schema.rb
CHANGED
@@ -20,6 +20,10 @@ class PolyrexSchema
|
|
20
20
|
scan_to_a(@doc.root.xpath 'records/.')
|
21
21
|
end
|
22
22
|
|
23
|
+
def to_h()
|
24
|
+
scan_to_h(@doc.root.xpath 'records/.')
|
25
|
+
end
|
26
|
+
|
23
27
|
def to_doc()
|
24
28
|
@doc
|
25
29
|
end
|
@@ -38,6 +42,8 @@ class PolyrexSchema
|
|
38
42
|
|
39
43
|
return if a.empty?
|
40
44
|
|
45
|
+
schema = a.join('/')
|
46
|
+
|
41
47
|
line = a.shift
|
42
48
|
|
43
49
|
raw_siblings = line[/\{.*/]
|
@@ -54,6 +60,7 @@ class PolyrexSchema
|
|
54
60
|
|
55
61
|
fields = raw_fields.chop.split(',')
|
56
62
|
field_rows = fields.map {|field| node(field.strip) }
|
63
|
+
field_rows << node('schema', schema)
|
57
64
|
field_rows << node('format_mask', fields.map{|x| "[!%s]" % x.strip}\
|
58
65
|
.join(' '))
|
59
66
|
end
|
@@ -84,4 +91,23 @@ class PolyrexSchema
|
|
84
91
|
|
85
92
|
end
|
86
93
|
|
94
|
+
def scan_to_h(nodes)
|
95
|
+
|
96
|
+
nodes.map do |r|
|
97
|
+
|
98
|
+
a = r.xpath('summary/*/name()') # => ["entry", "format_mask"]
|
99
|
+
schema = r.text('summary/schema')
|
100
|
+
fields = (a - %w(schema format_mask)).map(&:to_sym)
|
101
|
+
node = r.xpath 'records/.'
|
102
|
+
|
103
|
+
if node.any? then
|
104
|
+
children = scan_to_h(node)
|
105
|
+
{name: r.name.to_sym, fields: fields, schema: schema, children: children}
|
106
|
+
else
|
107
|
+
{name: r.name.to_sym, fields: fields, schema: schema}
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
end
|
112
|
+
|
87
113
|
end
|
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.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -31,7 +31,7 @@ cert_chain:
|
|
31
31
|
x3ppGgUf/zri8F8syPC4U/PhiV9ZBYGjFZDoQWr9TW6gJ1rEPuB1RYH9RPLaSYy4
|
32
32
|
SFJGImVxuM2M+Q==
|
33
33
|
-----END CERTIFICATE-----
|
34
|
-
date: 2014-
|
34
|
+
date: 2014-08-06 00:00:00.000000000 Z
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rexle
|
@@ -72,7 +72,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 2.1.
|
75
|
+
version: 2.1.0
|
76
76
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
77
77
|
requirements:
|
78
78
|
- - ">="
|
metadata.gz.sig
CHANGED
Binary file
|