polyrex 0.9.1 → 0.9.2

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: 6f4c552bdf18a1178eebdf2d51bef56f85796641
4
- data.tar.gz: a5a1dff609a2bffada052dae04b125479b954d4a
3
+ metadata.gz: 013bb5179a22169991d73399b03f9c698c6f8c45
4
+ data.tar.gz: 58b0c25df6492abd6827b94fa55e9f4e91645b14
5
5
  SHA512:
6
- metadata.gz: e6cd3de269bea3a44d6008a33acf55862f152e95406f41e98914516fd40108b2a692091d296dabba239f51d9d11f77ef55b6f03c5021dba29f9033ec87aa7ede
7
- data.tar.gz: fe48037c37996c74232a9fcc750aee68e3c01e40b808ca90130f4271f87d7c8654de3293b7d4ee62d57b20330cfcd54a4438898e5d6b00771d8dcd3d45c8ddb1
6
+ metadata.gz: c95f20a89040cae9ec260e960627bff7c20f016c539e94c6951f5bd6968e9e1a8ab3023ddcc01197ea17bc62e1e96a51f9355b3bf64c49c958115b51c82e67c6
7
+ data.tar.gz: fe48dda760665c06aec8976930063bdbb331f2273c522514ebae19fe0724e01a5d63f918b3e31b92b3730f7421c00f1363c45090c3bcfa355e4fb4abcbf223b4
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/lib/polyrex.rb CHANGED
@@ -37,13 +37,15 @@ end
37
37
 
38
38
 
39
39
  class Polyrex
40
- attr_accessor :summary_fields, :xslt_schema, :id_counter, :schema, :type
40
+ attr_accessor :summary_fields, :xslt_schema, :id_counter,
41
+ :schema, :type, :delimiter
41
42
 
42
43
  def initialize(location=nil, opt={})
43
44
 
44
45
  options = {id_counter: '1'}.merge opt
45
46
  @id_counter = options[:id_counter]
46
47
  @format_masks = []
48
+ @delimiter = ''
47
49
 
48
50
  if location then
49
51
  self.method(:schema=).call(options[:schema]) if options[:schema]
@@ -91,6 +93,8 @@ class Polyrex
91
93
 
92
94
  def delimiter=(separator)
93
95
 
96
+ @delimiter = separator
97
+
94
98
  @format_masks.map! do |format_mask|
95
99
  format_mask.to_s.gsub(/\s/, separator)
96
100
  end
@@ -212,6 +216,53 @@ EOF
212
216
 
213
217
  end
214
218
 
219
+ def to_s()
220
+
221
+ def build(records, indent=0)
222
+
223
+ records.map do |item|
224
+
225
+ summary = item.element 'summary'
226
+ format_mask = summary.text 'format_mask'
227
+ line = format_mask.gsub(/\[![^\]]+\]/){|x| summary.text x[2..-2]}
228
+
229
+ records = item.element('records').elements.to_a
230
+ line = line + "\n" + build(records, indent + 1).join("\n") if records.length > 0
231
+ (' ' * indent) + line
232
+ end
233
+ end
234
+
235
+ sumry = ''
236
+
237
+
238
+ summary_fields = self.summary.to_h.keys
239
+
240
+ %w(recordx_type schema format_mask).each {|x| summary_fields.delete x}
241
+ sumry = summary_fields.map {|x| x + ': ' + \
242
+ self.summary.method(x.to_sym).call}.join("\n") + "\n"
243
+
244
+
245
+ if @raw_header then
246
+ declaration = @raw_header
247
+ else
248
+
249
+ smry_fields = %i(schema)
250
+ if self.delimiter.length > 0 then
251
+ smry_fields << :delimiter
252
+ else
253
+ smry_fields << :format_mask
254
+ end
255
+ s = smry_fields.map {|x| "%s=\"%s\"" % \
256
+ [x, self.summary.send(x).gsub('"', '\"') ]}.join ' '
257
+
258
+ declaration = %Q(<?polyrex %s?>\n) % s
259
+ end
260
+
261
+ header = declaration + sumry
262
+ out = build(self.records).join("\n")
263
+ header + "\n" + out
264
+ end
265
+
215
266
  def to_xslt()
216
267
  @polyrex_xslt.schema = @schema
217
268
  @polyrex_xslt.to_xslt
@@ -296,10 +347,10 @@ EOF
296
347
 
297
348
  def string_parse(buffer, options={})
298
349
 
299
- raw_header = buffer.slice!(/<\?polyrex[^>]+>/)
350
+ @raw_header = buffer.slice!(/<\?polyrex[^>]+>/)
300
351
 
301
- if raw_header then
302
- header = raw_header[/<?polyrex (.*)?>/,1]
352
+ if @raw_header then
353
+ header = @raw_header[/<?polyrex (.*)?>/,1]
303
354
  a = header.scan(/\w+\=["'][^"']+["']/).map do |x|
304
355
  r = x.split(/=/)
305
356
  [(r[0] + "=").to_sym, r[1][/^["'](.*)["']$/,1]]
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: 0.9.1
4
+ version: 0.9.2
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
- 8ixkARkWAmV1MB4XDTEzMDIwNjIxMDAyOVoXDTE0MDIwNjIxMDAyOVowSDESMBAG
15
+ 8ixkARkWAmV1MB4XDTE0MDIyMTIyMTYzNloXDTE1MDIyMTIyMTYzNlowSDESMBAG
16
16
  A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
17
  EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBAKi0D3CaAVy9Ck4vngpKJDMBr1LCV5IzirFlVShtpJc3fS+Dw3wlZWgXSFWM
19
- 9dNVQ2X4Da5W09w41wHzZQGJEMmBcCSisn0pzDJuRk/ZNY7iYvQl3/6lpTZO2CZf
20
- EyY0svPM2+cViUw0yEQYRJr2zT64brXTTfSD5XepeULqQVEv6GGXIydLSTlKUKWl
21
- MbiCLqVRs03o6ghGXwU8CFkmjfgzDJUXVNaT3gdiFNZ9RR2YNpZ0aTq/KU2EK6HR
22
- 5dol/kMg2GGYjE9eNOHNvJ0tw7yGMMjIWlbpSTfoDi0krZyZ5mI7WhAOzKN6My1J
23
- xgjsmaI3NUhWtjCMcK8UH0P9SIkCAwEAAaM5MDcwCQYDVR0TBAIwADAdBgNVHQ4E
24
- FgQUrUTrWgLJjxCZzOXjryW6XmLJHyEwCwYDVR0PBAQDAgSwMA0GCSqGSIb3DQEB
25
- BQUAA4IBAQBW3eVhDHC4jToSbfwK7PifrsT7jHqrsoQYQaNDLDFqCNAVbohdeggW
26
- JI5Lrkdgjh/H7cluGLW4wnhrFXw0j9WNCePeWmnruxPltUgsaTQ/ymbruzIEfohi
27
- u4rrcG232M+4Dhoc7llHnBGiDgmSqZHoGHUqRWovmlYWM4f3rplpHMI55amRdx1t
28
- lsW94hrsu67rJwXpdcTlXT2ia8z+PqvmnnbWdTie4qrkxsMFfsus9kOKLXvy48Ov
29
- 7hfiCsNv+0o/OwBNlpn8pTTpd3jV6o1Qq0Y7QiFomKd6XWlaHT4ZNtZdb/XTpC7W
30
- ZUZv+oXV5L4FrLlOrnTUhA+cZRntSyHs
18
+ ggEBAMG0VJYpvuTtAym6dLCS2xciZEQgaWjimn23YEdgDwZa2ED+iyyRwYD1V+jH
19
+ 9H4Ok88LTST1aSkwPYfp+u6491SRm3rAhfRCNEWXaL4sYx3EOuNBImw+vi9bu/f0
20
+ YfJGnY43pEorT8Gmul8Y+z10LoRkxwEFCgRKcZRXTE0M1VDX0/Cv0/YuaeESMy1j
21
+ l7Fa88zB6ZbGLVWShAnFrIqyn28gOv/iQnwNeoy2F0pT/fus0iaU0aOU47IcdM+J
22
+ gCIIcch3AhTeKSwmY/24nQeeE5R8Y+9EJtuOrG/8pjf/sOMAGRm4NMPiYDub+o2A
23
+ 3x6RqDbNvQOITkObbLdUNm3RDQkCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQUlCdT0IvHPWPNgGAps/LXgQ0/9FgwJgYDVR0RBB8w
25
+ HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAQg0q7eMS
27
+ Z1rPmcl6F3eycyeqNfD9r0pFUNdMtYH/L7X7VK4hRv7qNkXmijXdqOCgb5eiYFaF
28
+ viysSGLsXEmNz+QII0ODPTmUnwfkjANdUkl5hZhOm2l8kGfgJo7GZHttUw2Yk3Sc
29
+ z5ICpEhB4PAu5v+VCYtLge2wAHMjNpuWlMV8PoLRBTVkp+kpL8QZ5A/R8JRWdPs+
30
+ s7qQTcvKLvmnMjw49hmfeXROSl8nEawKNd9T5udpCUP0Lm9cMgoX8h6LDft9iv7C
31
+ wbQnaFmJMPFyXo9Yh/95QJEinnBsM0Yk8nJhmcChjdCpQL5243BjgzVEjHI1Ouxe
32
+ SmUIljyExpxiHQ==
31
33
  -----END CERTIFICATE-----
32
- date: 2014-01-05 00:00:00.000000000 Z
34
+ date: 2014-02-21 00:00:00.000000000 Z
33
35
  dependencies:
34
36
  - !ruby/object:Gem::Dependency
35
37
  name: polyrex-schema
@@ -156,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
156
158
  version: '0'
157
159
  requirements: []
158
160
  rubyforge_project:
159
- rubygems_version: 2.2.0.rc.1
161
+ rubygems_version: 2.1.11
160
162
  signing_key:
161
163
  specification_version: 4
162
164
  summary: polyrex
metadata.gz.sig CHANGED
Binary file