dynarex 1.2.11 → 1.2.12

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.
Files changed (2) hide show
  1. data/lib/dynarex.rb +20 -7
  2. metadata +1 -1
@@ -18,7 +18,7 @@ class Dynarex
18
18
 
19
19
  attr_accessor :format_mask, :delimiter, :xslt_schema, :schema, :order
20
20
 
21
- def self.gem_url() 'http://www.jamesrobertson.eu/ruby/dynarex#1.2.11' end
21
+ def self.gem_url() 'http://www.jamesrobertson.eu/ruby/dynarex#1.2,12' end
22
22
 
23
23
  #Create a new dynarex document from 1 of the following options:
24
24
  #* a local file path
@@ -427,12 +427,25 @@ EOF
427
427
  i = @doc.root.xpath('max(records/*/attribute::id)').to_i
428
428
 
429
429
  raw_summary = schema[/\[([^\]]+)/,1]
430
- r = buffer[/--\+(.*)/m,1]
431
- buffer = r if r
432
- raw_lines = buffer[/(--\+)?(.*)/m,2].gsub(/^\s*#[^\n]+/,'').gsub(/\n\n/,"\n")\
433
- .strip.split(/\r?\n|\r(?!\n)/)
430
+ rowx = buffer[/--\+.*/m]
434
431
 
435
- raw_lines.reverse! if @order == 'descending'
432
+ buffer = rowx if rowx
433
+
434
+ raw_lines = buffer.gsub(/^\s*#[^\n]+/,'').gsub(/\n\n/,"\n")\
435
+ .strip.split(/\r?\n|\r(?!\n)/)
436
+
437
+ if @order == 'descending' then
438
+ rl = raw_lines
439
+
440
+ if rowx then
441
+ raw_lines = [rl[0]] + rl[1..-1].each_slice(@fields.count).inject([])\
442
+ {|r,x| r += x.reverse }.reverse
443
+ else
444
+ raw_lines = rl.each_slice(@fields.count).inject([])\
445
+ {|r,x| r += x.reverse }.reverse
446
+ end
447
+
448
+ end
436
449
 
437
450
  if raw_summary then
438
451
  a_summary = raw_summary.split(',').map(&:strip)
@@ -490,7 +503,7 @@ EOF
490
503
  end
491
504
 
492
505
  end
493
-
506
+
494
507
  a = lines.map do|x|
495
508
  created = Time.now.to_s
496
509
  h = Hash[@fields.zip(x.map{|t| t.to_s[/^---/] ? YAML.load(t) : t})]
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: dynarex
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.2.11
5
+ version: 1.2.12
6
6
  platform: ruby
7
7
  authors:
8
8
  - James Robertson