dynarex 1.2.51 → 1.2.52
Sign up to get free protection for your applications and to get access to all the features.
- 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
|