polyrex 0.9.1 → 0.9.2

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