polyrex 1.0.5 → 1.0.6

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: bac7e2fe47b4731c81bbf782311a7fc7935ba043
4
- data.tar.gz: fe0e75a68afe8f93dd53f65b5ecd424cb55e2dc3
3
+ metadata.gz: 3c63dd0f72de75a539790a4adaf6b9b9eb6776f6
4
+ data.tar.gz: d9e92aa15830806e4a2c8ee29b2246e4ef57ebca
5
5
  SHA512:
6
- metadata.gz: 8ffe01fbb96f572d97c0d01d41bc4e3a33845088801b04aa84d9ac49745a78e14612e4aedad0847b2238d267fa86907b4e1250d779c2d0759876b012c378593c
7
- data.tar.gz: 26e5cdb6428a5149824a4f344027b6d6eb8aea894e41ed0b7fb5e9886bc82f54860c0386b7d28008b601bff51639a926a005e7a9d5337d46d9d732ac16bf1525
6
+ metadata.gz: 4a85bd7fbbcad9e15158743b72617f55e818efa0d1d647a2eba1f0667b8e143df84589b0a054999b67248da0521d7a8684f8bb577b3089a6b455276e10e369a7
7
+ data.tar.gz: 4540b5fec77eef955a2da76c1c10e83b3cf7f10ce8541bd1fd4bb730ef81ce7e1f92e1a1063f22c5c5dbaf1a5e39d227de5818e1bca9f53b7ecb3a1b2986bec9
@@ -1,2 +1 @@
1
- ���A�V���6�應�W%����%�.��d �/��{�ӂ&��G*�jA+� �� aQ�<�������Wo���vԈd��tY�ٙމֹ��V�Y׀��+6ZwΓHh��B�7�7�/�푫��ֽ�/WgzyQւSen=�� 9@mub�U�� h���8��
2
- dm}
1
+ H��u��>��l�[�֩�*m�c���l~���V� �H�[v�����Wu�jm#�g��T/I��(R�����>N��w��!C��'��W<��;Rսv�� yd�>zӪ/U���/�m[��/)v`H}���V��c u)w�\kݾ����(aV���l���$[j�'㔣�8W���O���3d��w.Ty,w�8T�9n�7����F[b�������)1��*��,��L,��kL?y��: T/z5
data.tar.gz.sig CHANGED
Binary file
@@ -156,6 +156,31 @@ class Polyrex
156
156
  @doc.root.element(s)
157
157
  end
158
158
 
159
+ def leaf_nodes_to_dx()
160
+
161
+ schema, record_name = @summary.schema\
162
+ .match(/([^\/]+\/([^\/]+)\[[^\[]+$)/).captures
163
+
164
+ xml = RexleBuilder.new
165
+
166
+ xml.items do
167
+ xml.summary do
168
+ xml.schema schema.sub(/(\/\w+)\[([^\]]+)\]/,'\1(\2)')
169
+ end
170
+ xml.records
171
+ end
172
+
173
+ doc = Rexle.new xml.to_a
174
+ body = doc.root.element 'records'
175
+ a = self.xpath('//' + record_name)
176
+
177
+ a.each do |record|
178
+ body.add record.deep_clone
179
+ end
180
+
181
+ make_dynarex doc.root
182
+ end
183
+
159
184
  def records
160
185
  @doc.root.xpath("records/*").map do |record|
161
186
  @objects_a[0].new(record)
@@ -194,42 +219,14 @@ class Polyrex
194
219
  root = @doc.root.deep_clone
195
220
 
196
221
  summary = root.element('summary')
197
- e = summary.element('schema')
198
- e.text = e.text[/[^\/]+\/[^\/]+/].sub(/(\/\w+)\[([^\]]+)\]/,'\1(\2)')
199
222
  summary.delete('format_mask')
200
223
  summary.element('recordx_type').text = 'dynarex'
201
224
 
202
- summary.add root.element('records/*/summary/format_mask').clone
203
- root.xpath('records/*/summary/format_mask').each(&:delete)
204
-
205
- xsl_buffer =<<EOF
206
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
207
- <xsl:output encoding="UTF-8"
208
- indent="yes"
209
- omit-xml-declaration="yes"/>
210
-
211
- <xsl:template match="*">
212
- <xsl:element name="{name()}">
213
- <xsl:element name="summary">
214
- <xsl:for-each select="summary/*">
215
- <xsl:copy-of select="."/>
216
- </xsl:for-each>
217
- </xsl:element>
218
- <xsl:element name="records">
219
- <xsl:for-each select="records/*">
220
- <xsl:element name="{name()}">
221
- <xsl:copy-of select="summary/*"/>
222
- </xsl:element>
223
- </xsl:for-each>
224
- </xsl:element>
225
- </xsl:element>
226
- </xsl:template>
227
- </xsl:stylesheet>
228
- EOF
229
- xslt = Nokogiri::XSLT(xsl_buffer)
230
- buffer = xslt.transform(Nokogiri::XML(root.xml)).to_s
231
- Dynarex.new buffer
225
+ summary.add root.element('records/*/summary/format_mask').clone
226
+ e = summary.element('schema')
227
+ e.text = e.text[/[^\/]+\/[^\/]+/].sub(/(\/\w+)\[([^\]]+)\]/,'\1(\2)')
232
228
 
229
+ make_dynarex(root)
233
230
  end
234
231
 
235
232
  def to_s()
@@ -305,6 +302,40 @@ EOF
305
302
  end
306
303
 
307
304
  private
305
+
306
+ def make_dynarex(root)
307
+
308
+
309
+ root.xpath('records/*/summary/format_mask').each(&:delete)
310
+
311
+ xsl_buffer =<<EOF
312
+ <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
313
+ <xsl:output encoding="UTF-8"
314
+ indent="yes"
315
+ omit-xml-declaration="yes"/>
316
+
317
+ <xsl:template match="*">
318
+ <xsl:element name="{name()}">
319
+ <xsl:element name="summary">
320
+ <xsl:for-each select="summary/*">
321
+ <xsl:copy-of select="."/>
322
+ </xsl:for-each>
323
+ </xsl:element>
324
+ <xsl:element name="records">
325
+ <xsl:for-each select="records/*">
326
+ <xsl:element name="{name()}">
327
+ <xsl:copy-of select="summary/*"/>
328
+ </xsl:element>
329
+ </xsl:for-each>
330
+ </xsl:element>
331
+ </xsl:element>
332
+ </xsl:template>
333
+ </xsl:stylesheet>
334
+ EOF
335
+ xslt = Nokogiri::XSLT(xsl_buffer)
336
+ buffer = xslt.transform(Nokogiri::XML(root.xml)).to_s
337
+ Dynarex.new buffer
338
+ end
308
339
 
309
340
  def refresh_records(records, fields, level)
310
341
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polyrex
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -31,7 +31,7 @@ cert_chain:
31
31
  xutogBWBRwktcdg7bc24/mbFcXcx5WhspVwfj6isE6q3A1nNkMtk3DHHKmUrfemr
32
32
  pWpTJQi2DFAx/g==
33
33
  -----END CERTIFICATE-----
34
- date: 2015-03-01 00:00:00.000000000 Z
34
+ date: 2015-03-05 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: polyrex-schema
metadata.gz.sig CHANGED
@@ -1,3 +1,2 @@
1
- fF�^׸_�~�śD��'�����RQ�m��'qnX@�vא;�F �o3$p|C���j��C��װ*����O�����߫PmW:�8(�'b4����$��SCEiN���&;L��
2
- I�ܔ�5�C���H� ���i)tMWk���M6��$xAqg^Y��h�+̘B���vt���,�Ir^ۗ�>tһGK�r�[ل��G{
3
- ����� ����� o��������m�O�ߔ��
1
+ E &�[�v�1m=�?������ί뽒��<���,'�
2
+ Uɡ���0��/��C�~K1Z����291DP�KXR�:�2�8�T$S �]|�X{M�9<ti@:4�g�M1n�pL*h���]�&;��lq���ȷ3 ���9��P8����=�Cp:\���&U{MT' L�����jDD���Ԣ����<��J�V��r�+W��Xx"X�>� ��o���L'c��zS��׉�