dynarex 1.8.22 → 1.8.27

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
  SHA256:
3
- metadata.gz: 0154b77227c491f54d90c35a1d598d35ec9abb111a86cca1a55db3b893d9cfc5
4
- data.tar.gz: e0eb1e28361308b5e8a37013160420ef0ae6d8bd61ca155a469382eb921e8041
3
+ metadata.gz: d331676a235d9cb8422a3855be3803bbf3203ac0f87238efe44c7adf2d541dc4
4
+ data.tar.gz: 306dfe9c3667fdf27db9e9ac7d410ef1fe25148fe79dd278543109264823112c
5
5
  SHA512:
6
- metadata.gz: fd313c5eb9a96c34b55ab33b9d372a19bed20fb3b8b12b05ff0a702145e5d7101285e0894251829f55c6cc7d5764a00bbbbadd4ffb7e999fa9db45569a1edbc1
7
- data.tar.gz: 68b37852644dbeec04772e158ab6fe8e9316b870e7d954d07493f7e79b7a68684e8d15392c4b985d90d307dc28b8ea0882e50e4cd123b2a94e3c8c5de5214e23
6
+ metadata.gz: 3577e9e6067e4fef09f1c31654212a5ce47c3af65dafd9e1e10d887c190ff4ed253ae8859980ea3cfc273a57664da7aa6d58bfbb6b94f996c5efd2fb17a208f0
7
+ data.tar.gz: 81d4c396ba22264bc517117a6cfc3011a185c26e733f63f25ea42e0b28dc9177ea2788b5bd01282c8bff7e0556a8f9b6f2094b11c326eedad81b5357d65f5571
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -125,8 +125,11 @@ class Dynarex
125
125
  end
126
126
 
127
127
  def all()
128
+
129
+ refresh! if @dirty_flag
128
130
  a = @doc.root.xpath("records/*").map {|x| recordx_to_record x}
129
131
  DynarexRecordset.new(a, self)
132
+
130
133
  end
131
134
 
132
135
  def clone()
@@ -326,13 +329,28 @@ class Dynarex
326
329
 
327
330
  end
328
331
 
329
- 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)
330
337
 
331
338
  records = self.to_a
332
339
  summary = self.summary.to_h
333
-
334
- 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
+
335
352
  pretty ? JSON.pretty_generate(h) : h.to_json
353
+
336
354
  end
337
355
 
338
356
  def to_s(header: true, delimiter: @delimiter)
@@ -477,6 +495,8 @@ EOF
477
495
 
478
496
  end
479
497
 
498
+ return unless filepath
499
+
480
500
  opt = {pretty: true}.merge options
481
501
 
482
502
  @local_filepath = filepath || 'dx.xml'
@@ -656,6 +676,10 @@ EOF
656
676
  @dirty_flag = true
657
677
  end
658
678
 
679
+ def refresh!()
680
+ (load_records; rebuild_doc) if @dirty_flag == true
681
+ end
682
+
659
683
  # used internally by to_rss()
660
684
  #
661
685
  def rss_xslt(opt={})
@@ -724,14 +748,13 @@ EOF
724
748
  xslif = Rexle.new("<xsl:if test='position() &lt; #{h[:limit]}'/>").root
725
749
 
726
750
 
727
-
728
751
  if pubdate.nil? then
729
752
  pubdate2 = Rexle.new("<pubDate><xsl:value-of select='pubDate'></xsl:value-of></pubDate>").root
730
753
  new_item.add pubdate2
731
754
  end
732
755
 
733
756
  xslif.add new_item
734
- e2.add xslif.root
757
+ e2.add xslif
735
758
  xslt = doc.xml
736
759
 
737
760
  xslt
@@ -750,9 +773,9 @@ EOF
750
773
  end
751
774
 
752
775
  puts ('doc: ' + doc.root.xml) if @debug
753
- #File.write '/tmp/blog.xml', doc.root.xml
776
+ File.write '/tmp/blog.xml', doc.root.xml
754
777
  puts ('xslt:' + xslt.inspect) if @debug
755
- #File.write '/tmp/blog.xslt', xslt
778
+ File.write '/tmp/blog.xslt', xslt
756
779
 
757
780
  out = Rexslt.new(xslt, doc).to_s(declaration: false)
758
781
 
@@ -825,7 +848,7 @@ EOF
825
848
 
826
849
  puts 'inside hash_create' if @debug
827
850
  record = make_record(raw_params, id, attr: attr)
828
- puts 'record: ' + record.inspect
851
+ puts 'record: ' + record.inspect if @debug
829
852
  method_name = @order == 'ascending' ? :add : :prepend
830
853
  @doc.root.element('records').method(method_name).call record
831
854
 
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.22
4
+ version: 1.8.27
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: 2020-02-03 00:00:00.000000000 Z
38
+ date: 2020-07-22 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