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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/dynarex.rb +14 -22
- metadata +1 -1
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 83aa5387c01f6875e9fcd0a870cf6e287a9e6a14
|
4
|
+
data.tar.gz: ce3cd13b74385b8a678125a532d375a143b30f90
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 85a0837a4109ae4455541c075d835a653fed933e0591290b380e977a00b5b6dd8a3160defb3efdd05292431e5a51fd54c8ba8bfd49184f97853dc0b76c0497a4
|
7
|
+
data.tar.gz: 0e5b784a2e0e4873af2b4fefccbea07e8b5c81a9d42220b2747a2fe3f9def745926018f98077d99d08c4b73ebc323b881fcef33cd659b0b9293119c2dfab852a
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/dynarex.rb
CHANGED
@@ -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
|
-
|
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(/</,'<') : 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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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('<', '<').gsub('>','>')
|
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
|
-
|
897
|
+
|
905
898
|
if s[/</] then # xml
|
906
899
|
|
907
900
|
buffer = s
|
908
901
|
|
909
902
|
elsif s[/[\[\(]/] # schema
|
910
|
-
|
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
|
-
|
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
|
-
|
930
|
+
|
939
931
|
@schema = e.text('schema')
|
940
932
|
@root_name = @doc.root.name
|
941
933
|
@summary = summary_to_h
|
metadata
CHANGED
metadata.gz.sig
CHANGED
Binary file
|