dynarex 1.5.15 → 1.5.16

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