dynarex 1.5.15 → 1.5.16

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: 463d045750a1cfed97c0e92bfd4552d5486f5b85
4
- data.tar.gz: 30a19a3104987b594d032115f2419bee01874820
3
+ metadata.gz: 83aa5387c01f6875e9fcd0a870cf6e287a9e6a14
4
+ data.tar.gz: ce3cd13b74385b8a678125a532d375a143b30f90
5
5
  SHA512:
6
- metadata.gz: d247077cb0ba9eb0855cbcc04943b8ff8c968191fd459b6a87cb3503948e6613f7e39d356c84248dc896b66762ffb0ad01952194820acee720b2b30958877b5f
7
- data.tar.gz: 9031121ea34ad8eb0d749bc9a870cd765df20c0ce292bd5f73d47c0b0870030ac208cfc63f1b8a4e3a4fc90787277774e1f8c6a0eba9d5cac209de50ffa239b6
6
+ metadata.gz: 85a0837a4109ae4455541c075d835a653fed933e0591290b380e977a00b5b6dd8a3160defb3efdd05292431e5a51fd54c8ba8bfd49184f97853dc0b76c0497a4
7
+ data.tar.gz: 0e5b784a2e0e4873af2b4fefccbea07e8b5c81a9d42220b2747a2fe3f9def745926018f98077d99d08c4b73ebc323b881fcef33cd659b0b9293119c2dfab852a
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -473,17 +473,13 @@ EOF
473
473
  end # end of if @records
474
474
  end
475
475
 
476
- #@log.debug('dynarex: a = ' + a.inspect)
477
476
  doc = Rexle.new(a)
478
477
 
479
- #@log.debug('dynarex: doc.inspect : ' + doc.inspect)
480
- #@log.debug('dynarex: doc ' + doc.xml[0..149].inspect)
481
478
  if @xslt then
482
479
  doc.instructions = [['xml-stylesheet',
483
480
  "title='XSL_formatting' type='text/xsl' href='#{@xslt}'"]]
484
481
  end
485
482
 
486
- #log.debug('dynarex: state: ' + state.inspect)
487
483
  return doc if state != :internal
488
484
  @doc = doc
489
485
  end
@@ -663,7 +659,7 @@ EOF
663
659
  alias refresh_doc display_xml
664
660
 
665
661
  def string_parse(buffer)
666
- #@log.debug '+string_parse'
662
+
667
663
  buffer.gsub!("\r",'')
668
664
  buffer.gsub!(/\n-{4,}\n/,"\n\n")
669
665
  buffer.gsub!(/---\n/m, "--- ")
@@ -672,37 +668,31 @@ EOF
672
668
  buffer.gsub!(/<./) {|x| x[1] != '?' ? x.sub(/</,'&lt;') : x }
673
669
 
674
670
  @raw_header = buffer[/<\?dynarex[^>]+>/]
675
- #log = Logger.new('/home/james/mm.log')
676
- #log.debug('dynarex: before if buffer()')
677
- #@log.debug 'before buffer match'
678
671
 
679
672
  if buffer[/<\?/] then
680
- #@log.debug 'inside buffer'
673
+
681
674
  raw_stylesheet = buffer.slice!(/<\?xml-stylesheet[^>]+>/)
682
675
  @xslt = raw_stylesheet[/href=["']([^"']+)/,1] if raw_stylesheet
683
676
  @raw_header = buffer.slice!(/<\?dynarex[^>]+>/) + "\n"
684
677
 
685
- #@log.debug 'before header'
686
678
  header = @raw_header[/<?dynarex (.*)?>/,1]
687
679
 
688
680
  r1 = /([\w\-]+\s*\=\s*'[^']*)'/
689
681
  r2 = /([\w\-]+\s*\=\s*"[^"]*)"/
690
682
 
691
683
  r = header.scan(/#{r1}|#{r2}/).map(&:compact).flatten
692
- #@log.debug 'before each'
684
+
693
685
  r.each do |x|
694
686
 
695
687
  attr, val = x.split(/\s*=\s*["']/,2)
696
- #@log.debug('dynarex: attr' + attr.inspect)
697
688
  self.method((attr + '=').to_sym).call(unescape val)
698
689
  end
699
690
 
700
691
  end
701
- #log = Logger.new('/home/james/mm.log')
702
- #@log.debug('dynarex: before root()')
692
+
703
693
  # if records already exist find the max id
704
694
  i = @doc.root.xpath('max(records/*/attribute::id)').to_i
705
- #log.debug('dyanrex: after root()')
695
+
706
696
  raw_summary = schema[/\[([^\]]+)/,1]
707
697
 
708
698
  raw_lines = buffer.lines.to_a
@@ -865,8 +855,11 @@ EOF
865
855
  s.gsub('&lt;', '<').gsub('&gt;','>')
866
856
  end
867
857
 
868
- def dynarex_new(s)
858
+ def dynarex_new(s, default_key: nil)
859
+
869
860
  @schema = s
861
+ @default_key = default_key if default_key
862
+
870
863
  ptrn = %r((\w+)\[?([^\]]+)?\]?\/(\w+)\(([^\)]+)\))
871
864
  #@log.debug 'inside dynarex_new'
872
865
  if s.match(ptrn) then
@@ -901,13 +894,13 @@ EOF
901
894
  end
902
895
 
903
896
  def openx(s)
904
- #@log.debug 'inside openx'
897
+
905
898
  if s[/</] then # xml
906
899
 
907
900
  buffer = s
908
901
 
909
902
  elsif s[/[\[\(]/] # schema
910
- #@log.debug 'before dynarex_new'
903
+
911
904
  dynarex_new(s)
912
905
 
913
906
  elsif s[/^https?:\/\//] then # url
@@ -918,12 +911,12 @@ EOF
918
911
  if File.exists? s then
919
912
  buffer = File.read s
920
913
  elsif @opt[:schema]
921
- dynarex_new @opt[:schema]
914
+ dynarex_new @opt[:schema], default_key: @opt[:default_key]
922
915
  else
923
916
  raise DynarexException, 'file not found: ' + s
924
917
  end
925
918
  end
926
- #@log.debug 'openx: before buffer'
919
+
927
920
  if buffer then
928
921
 
929
922
  raw_stylesheet = buffer.slice!(/<\?xml-stylesheet[^>]+>/)
@@ -932,10 +925,9 @@ EOF
932
925
  @doc = Rexle.new(buffer) unless @doc
933
926
  end
934
927
 
935
- #@log.debug('dynarex: before lement summary')
936
928
  return if @doc.root.nil?
937
929
  e = @doc.root.element('summary')
938
- #@log.debug('dynarex: \after element summary')
930
+
939
931
  @schema = e.text('schema')
940
932
  @root_name = @doc.root.name
941
933
  @summary = summary_to_h
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynarex
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.15
4
+ version: 1.5.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
metadata.gz.sig CHANGED
Binary file