dynarex 1.2.51 → 1.2.52
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 +32 -25
- 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: ebdb32b21f425a446f0b8a699d42059a6f7efe79
|
4
|
+
data.tar.gz: bb80090c325c1d5cb040af3919a085dcafcd4be3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8880097149db0b5806cf7c43ead80fd6a66fe8c3014879630662810b4e6053dfa96bf3469457bf77e12b30b5ae0702c7b3cd176627885329657f8f871d266c9a
|
7
|
+
data.tar.gz: 6868fc4260ed955a893ceb1c456929aa04eff95f9a28d93b7978bcc207fa0c7c360cd82cd484e09c21d470c2c36d084b44d6b1eeb3bb312bf302307f15dc1290
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/dynarex.rb
CHANGED
@@ -34,12 +34,16 @@ class Dynarex
|
|
34
34
|
#puts Rexle.version
|
35
35
|
@delimiter = ' '
|
36
36
|
open(location) if location
|
37
|
-
@
|
37
|
+
if @order == 'descending' then
|
38
|
+
@records = records_to_h(:descending)
|
39
|
+
rebuild_doc
|
40
|
+
end
|
41
|
+
#jr240913 @dirty_flag = false
|
38
42
|
end
|
39
43
|
|
40
44
|
def add(x)
|
41
45
|
@doc.root.add x
|
42
|
-
|
46
|
+
@dirty_flag = true
|
43
47
|
self
|
44
48
|
end
|
45
49
|
|
@@ -125,7 +129,7 @@ class Dynarex
|
|
125
129
|
|
126
130
|
# Returns a ready-only snapshot of records as a simple Hash.
|
127
131
|
#
|
128
|
-
def flat_records
|
132
|
+
def flat_records
|
129
133
|
load_records if @dirty_flag == true
|
130
134
|
@flat_records
|
131
135
|
end
|
@@ -337,7 +341,7 @@ EOF
|
|
337
341
|
self
|
338
342
|
end
|
339
343
|
|
340
|
-
def rebuild_doc
|
344
|
+
def rebuild_doc(state=:internal)
|
341
345
|
|
342
346
|
reserved_keywords = (
|
343
347
|
Object.public_methods | \
|
@@ -350,10 +354,16 @@ EOF
|
|
350
354
|
xml.summary do
|
351
355
|
@summary.each{|key,value| xml.send key, value}
|
352
356
|
end
|
353
|
-
|
354
|
-
|
357
|
+
records = @records.to_a
|
358
|
+
|
359
|
+
|
360
|
+
if records then
|
361
|
+
|
362
|
+
records.reverse! if @order == 'descending' and state == :external
|
355
363
|
|
356
|
-
|
364
|
+
xml.records do
|
365
|
+
|
366
|
+
records.each do |k, item|
|
357
367
|
#p 'foo ' + item.inspect
|
358
368
|
xml.send(@record_name, {id: item[:id], created: item[:created], \
|
359
369
|
last_modified: item[:last_modified]}, '') do
|
@@ -372,7 +382,9 @@ EOF
|
|
372
382
|
end # end of if @records
|
373
383
|
end
|
374
384
|
|
375
|
-
|
385
|
+
doc = Rexle.new(a)
|
386
|
+
return doc if state != :internal
|
387
|
+
@doc = doc
|
376
388
|
end
|
377
389
|
|
378
390
|
def record(id)
|
@@ -464,17 +476,7 @@ EOF
|
|
464
476
|
def hash_create(raw_params={}, id=nil)
|
465
477
|
|
466
478
|
record = make_record(raw_params)
|
467
|
-
|
468
|
-
element = @doc.root.element('records/.[1]')
|
469
|
-
if element then
|
470
|
-
element.insert_before record
|
471
|
-
else
|
472
|
-
@doc.root.element('records').add record
|
473
|
-
end
|
474
|
-
|
475
|
-
else
|
476
|
-
@doc.root.element('records').add record
|
477
|
-
end
|
479
|
+
@doc.root.element('records').add record
|
478
480
|
|
479
481
|
end
|
480
482
|
|
@@ -487,8 +489,8 @@ EOF
|
|
487
489
|
def display_xml(opt={})
|
488
490
|
|
489
491
|
load_records if @dirty_flag == true
|
490
|
-
rebuild_doc()
|
491
|
-
|
492
|
+
doc = rebuild_doc(:external)
|
493
|
+
doc.xml(opt) #jr230711 pretty: true
|
492
494
|
end
|
493
495
|
|
494
496
|
def make_record(raw_params)
|
@@ -788,7 +790,8 @@ EOF
|
|
788
790
|
|
789
791
|
if @doc.root.xpath('records/*').length > 0 then
|
790
792
|
@record_name = @doc.root.element('records/*[1]').name
|
791
|
-
load_records
|
793
|
+
#jr240913 load_records
|
794
|
+
@dirty_flag = true
|
792
795
|
end
|
793
796
|
|
794
797
|
end
|
@@ -796,7 +799,9 @@ EOF
|
|
796
799
|
def load_records
|
797
800
|
|
798
801
|
@records = records_to_h
|
802
|
+
|
799
803
|
@records = @records.take @limit_by if @limit_by
|
804
|
+
|
800
805
|
@records.instance_eval do
|
801
806
|
def delete_item(i)
|
802
807
|
self.delete self.keys[i]
|
@@ -812,12 +817,14 @@ EOF
|
|
812
817
|
puts @doc.to_s
|
813
818
|
end
|
814
819
|
|
815
|
-
def records_to_h()
|
820
|
+
def records_to_h(state=:ascending)
|
816
821
|
|
817
822
|
i = @doc.root.xpath('max(records/*/attribute::id)') || 0
|
818
823
|
#jr090813 fields = @doc.root.text('summary/schema')[/\(.*\)/].scan(/\w+/)
|
819
|
-
|
820
|
-
|
824
|
+
records = @doc.root.xpath('records/*')
|
825
|
+
|
826
|
+
recs = (state == :descending ? records.reverse : records)
|
827
|
+
a = recs.inject({}) do |result,row|
|
821
828
|
|
822
829
|
created = Time.now.to_s
|
823
830
|
last_modified = ''
|
metadata
CHANGED
metadata.gz.sig
CHANGED
Binary file
|