Class: DynarexRecordset

Inherits:
Array
  • Object
show all
Defined in:
lib/dynarex.rb

Instance Method Summary collapse

Constructor Details

#initialize(a, caller = nil) ⇒ DynarexRecordset

Returns a new instance of DynarexRecordset.



43
44
45
46
# File 'lib/dynarex.rb', line 43

def initialize(a, caller=nil)
  super(a)
  @caller = caller
end

Instance Method Details

#index(val) ⇒ Object



63
64
65
# File 'lib/dynarex.rb', line 63

def index(val)
  self.map(&:to_h).index val.to_h
end

#index_by_id(id) ⇒ Object



67
68
69
# File 'lib/dynarex.rb', line 67

def index_by_id(id)
  self.map(&:id).index id
end

#reject!Object



48
49
50
51
52
53
54
55
56
57
# File 'lib/dynarex.rb', line 48

def reject!()

  a = self.to_a.clone
  a2 = super
  return nil unless a2
  a3 = a - a2

  @caller.delete  a3.map(&:id)
  self
end

#sum(field) ⇒ Object



59
60
61
# File 'lib/dynarex.rb', line 59

def sum(field)
  self.inject(0) {|r, x| r + x[field.to_sym][/\d+(\.\d+)?$/].to_f }
end