dynarex 1.8.21 → 1.8.26

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
  SHA256:
3
- metadata.gz: 11494dcd4a9ab4d54cb9413b0d51f6fd79c745aa79200ceac3384ef18c346bad
4
- data.tar.gz: 11eb76e28e08ccada73cd4f121f313125de5fa88cfe408015119dcdad421f3cb
3
+ metadata.gz: e53d646e16a9dc5418563c918079a755131d13bcbb8a9f09378a83641e8e263f
4
+ data.tar.gz: edfd2bced3fec3b31f4ecffff0ec6b01b8c0605633e19ece62f3832e0cef014c
5
5
  SHA512:
6
- metadata.gz: 0eff1b42cf89f8e8843caf76be2d4ab7c0ab0956adaf8343df84e9d74d263f91ead5bc134ee66580dc7900d92b8d161c80295e7d9e98eef7018b4b6e452a8ca2
7
- data.tar.gz: 8d503eeda7dc6b0ced20f553e532deb18551270088b6f83c4eb8e431ef8032209b8afd17066355a0102a242553c9d79d7d1ebe13c87b5e137bde56dd8a98e8c0
6
+ metadata.gz: 291eaa36c95e263c1233bd27aae70893bf759738f16872c93da104a015c0b0557694c828aaa67e8b439d8324c5b3fcb76568b7671faa839f4006a8b38066a86b
7
+ data.tar.gz: 4f96e7fc8a576515f6261c2a7dfc4044ad64b0009cf4e92d1a6e5001ba512ce0b0c119076e2e7080d4e0789f2405168443ba290a72b41901d3b649631448780c
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -90,13 +90,14 @@ class Dynarex
90
90
  def initialize(rawx=nil, username: nil, password: nil, schema: nil,
91
91
  default_key: nil, json_out: true, debug: false,
92
92
  delimiter: ' # ', autosave: false, order: 'ascending',
93
- unique: false)
93
+ unique: false, filepath: nil)
94
94
 
95
95
 
96
96
  puts 'inside Dynarex::initialize' if debug
97
97
  @username, @password, @schema, @default_key, @json_out, @debug = \
98
98
  username, password, schema, default_key, json_out, debug
99
99
  @autosave, @unique = autosave, unique
100
+ @local_filepath = filepath
100
101
 
101
102
  puts ('@debug: ' + @debug.inspect).debug if debug
102
103
  @delimiter = delimiter
@@ -124,8 +125,11 @@ class Dynarex
124
125
  end
125
126
 
126
127
  def all()
128
+
129
+ refresh! if @dirty_flag
127
130
  a = @doc.root.xpath("records/*").map {|x| recordx_to_record x}
128
131
  DynarexRecordset.new(a, self)
132
+
129
133
  end
130
134
 
131
135
  def clone()
@@ -325,13 +329,28 @@ class Dynarex
325
329
 
326
330
  end
327
331
 
328
- def to_json(pretty: false)
332
+
333
+ # to_json: pretty is set to true because although the file size is larger,
334
+ # the file can be load slightly quicker
335
+
336
+ def to_json(pretty: true)
329
337
 
330
338
  records = self.to_a
331
339
  summary = self.summary.to_h
332
-
333
- h = {summary: summary, records: records}
340
+
341
+ root_name = schema()[/^\w+/]
342
+ record_name = schema()[/(?<=\/)[^\(]+/]
343
+
344
+ h = {
345
+ root_name.to_sym =>
346
+ {
347
+ summary: @summary,
348
+ records: @records.map {|_, h| {record_name.to_sym => h} }
349
+ }
350
+ }
351
+
334
352
  pretty ? JSON.pretty_generate(h) : h.to_json
353
+
335
354
  end
336
355
 
337
356
  def to_s(header: true, delimiter: @delimiter)
@@ -397,6 +416,7 @@ EOF
397
416
  if @debug then
398
417
  File.write '/tmp/foo.xsl', xsl_buffer
399
418
  File.write '/tmp/foo.xml', @doc.xml
419
+ puts 'xsl_buffer: ' + xsl_buffer.inspect
400
420
  end
401
421
 
402
422
  out = Rexslt.new(xsl_buffer, @doc).to_s
@@ -413,6 +433,7 @@ EOF
413
433
  xslt_format = a.join
414
434
 
415
435
  xsl_buffer.sub!(/\[!regex_values\]/, xslt_format)
436
+ puts 'xsl_buffer: ' + xsl_buffer.inspect if @debug
416
437
 
417
438
  out = Rexslt.new(xsl_buffer, @doc).to_s
418
439
 
@@ -474,6 +495,8 @@ EOF
474
495
 
475
496
  end
476
497
 
498
+ return unless filepath
499
+
477
500
  opt = {pretty: true}.merge options
478
501
 
479
502
  @local_filepath = filepath || 'dx.xml'
@@ -653,6 +676,10 @@ EOF
653
676
  @dirty_flag = true
654
677
  end
655
678
 
679
+ def refresh!()
680
+ (load_records; rebuild_doc) if @dirty_flag == true
681
+ end
682
+
656
683
  # used internally by to_rss()
657
684
  #
658
685
  def rss_xslt(opt={})
@@ -718,17 +745,16 @@ EOF
718
745
  item.delete
719
746
 
720
747
  pubdate = @xslt_schema[/pubDate:/]
721
- xslif = Rexle.new("<xsl:if test='position() &lt; #{h[:limit]}'/>").root
748
+ xslif = Rexle.new("<xsl:if test='position() < #{h[:limit]}'/>").root
722
749
 
723
750
 
724
-
725
751
  if pubdate.nil? then
726
752
  pubdate2 = Rexle.new("<pubDate><xsl:value-of select='pubDate'></xsl:value-of></pubDate>").root
727
753
  new_item.add pubdate2
728
754
  end
729
755
 
730
756
  xslif.add new_item
731
- e2.add xslif.root
757
+ e2.add xslif
732
758
  xslt = doc.xml
733
759
 
734
760
  xslt
@@ -822,7 +848,7 @@ EOF
822
848
 
823
849
  puts 'inside hash_create' if @debug
824
850
  record = make_record(raw_params, id, attr: attr)
825
- puts 'record: ' + record.inspect
851
+ puts 'record: ' + record.inspect if @debug
826
852
  method_name = @order == 'ascending' ? :add : :prepend
827
853
  @doc.root.element('records').method(method_name).call record
828
854
 
@@ -1059,7 +1085,7 @@ EOF
1059
1085
 
1060
1086
  raw_lines.shift while raw_lines.first.strip.empty?
1061
1087
 
1062
- lines = case raw_lines.first.chomp
1088
+ lines = case raw_lines.first.rstrip
1063
1089
 
1064
1090
  when '---'
1065
1091
 
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.8.21
4
+ version: 1.8.26
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -35,7 +35,7 @@ cert_chain:
35
35
  3m/dAMW7lgXujFuiEWdIWXXpu+uf7b2FKdTmZ1gzaYUi8H0j0VraXT1jhzQYZH/1
36
36
  zCi9HdW7AMP5hS692rfwJuEY
37
37
  -----END CERTIFICATE-----
38
- date: 2019-11-05 00:00:00.000000000 Z
38
+ date: 2020-07-17 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: dynarex-import
@@ -61,42 +61,42 @@ dependencies:
61
61
  name: rexle-builder
62
62
  requirement: !ruby/object:Gem::Requirement
63
63
  requirements:
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- version: 0.6.0
67
64
  - - "~>"
68
65
  - !ruby/object:Gem::Version
69
- version: '0.6'
66
+ version: '1.0'
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: 1.0.2
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- version: 0.6.0
77
74
  - - "~>"
78
75
  - !ruby/object:Gem::Version
79
- version: '0.6'
76
+ version: '1.0'
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: 1.0.2
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rexslt
82
82
  requirement: !ruby/object:Gem::Requirement
83
83
  requirements:
84
- - - "~>"
85
- - !ruby/object:Gem::Version
86
- version: '0.6'
87
84
  - - ">="
88
85
  - !ruby/object:Gem::Version
89
- version: 0.6.13
86
+ version: 0.7.0
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.7'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '0.6'
97
94
  - - ">="
98
95
  - !ruby/object:Gem::Version
99
- version: 0.6.13
96
+ version: 0.7.0
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '0.7'
100
100
  - !ruby/object:Gem::Dependency
101
101
  name: dynarex-xslt
102
102
  requirement: !ruby/object:Gem::Requirement
@@ -126,7 +126,7 @@ dependencies:
126
126
  version: '0.5'
127
127
  - - ">="
128
128
  - !ruby/object:Gem::Version
129
- version: 0.5.4
129
+ version: 0.5.5
130
130
  type: :runtime
131
131
  prerelease: false
132
132
  version_requirements: !ruby/object:Gem::Requirement
@@ -136,7 +136,7 @@ dependencies:
136
136
  version: '0.5'
137
137
  - - ">="
138
138
  - !ruby/object:Gem::Version
139
- version: 0.5.4
139
+ version: 0.5.5
140
140
  - !ruby/object:Gem::Dependency
141
141
  name: rxraw-lineparser
142
142
  requirement: !ruby/object:Gem::Requirement
@@ -203,20 +203,20 @@ dependencies:
203
203
  requirements:
204
204
  - - "~>"
205
205
  - !ruby/object:Gem::Version
206
- version: '0.8'
206
+ version: '0.9'
207
207
  - - ">="
208
208
  - !ruby/object:Gem::Version
209
- version: 0.8.1
209
+ version: 0.9.1
210
210
  type: :runtime
211
211
  prerelease: false
212
212
  version_requirements: !ruby/object:Gem::Requirement
213
213
  requirements:
214
214
  - - "~>"
215
215
  - !ruby/object:Gem::Version
216
- version: '0.8'
216
+ version: '0.9'
217
217
  - - ">="
218
218
  - !ruby/object:Gem::Version
219
- version: 0.8.1
219
+ version: 0.9.1
220
220
  description:
221
221
  email: james@jamesrobertson.eu
222
222
  executables: []
metadata.gz.sig CHANGED
Binary file