Sha256: bad8cc6ad1be157f0694a64e1545f6b1e2b708a00115856f82326960c2908857
Contents?: true
Size: 1.03 KB
Versions: 5
Compression:
Stored size: 1.03 KB
Contents
module Xeroizer module Report class AgedReceivablesByContact < Base public def total @_total_cache ||= summary.cell(:Total).value end def total_paid @_total_paid_cache ||= summary.cell(:Paid).value end def total_credited @_total_credited_cache ||= summary.cell(:Credited).value end def total_due @_total_due_cache ||= summary.cell(:Due).value end def total_overdue return @_total_due_cache if @_total_due_cache now = Time.now @_total_due_cache = sum(:Due) do | row | due_date = row.cell('Due Date').value due_date && due_date < now end end def sum(column_name, &block) sections.first.rows.inject(BigDecimal('0')) do | sum, row | sum += row.cell(column_name).value if row.class == Xeroizer::Report::Row && (block.nil? || block.call(row)) sum end end end end end
Version data entries
5 entries across 5 versions & 2 rubygems