class RockBooks::ReceiptsReportData
Attributes
all_entries[R]
receipt_dir[R]
Public Class Methods
new(all_entries, receipt_dir)
click to toggle source
# File lib/rock_books/reports/data/receipts_report_data.rb, line 6 def initialize(all_entries, receipt_dir) @all_entries = all_entries @receipt_dir = receipt_dir end
Public Instance Methods
fetch()
click to toggle source
# File lib/rock_books/reports/data/receipts_report_data.rb, line 12 def fetch missing_receipts = [] existing_receipts = [] # We will start out putting all filespecs in the unused array, and delete them as they are found in the transactions. unused_receipt_filespecs = all_receipt_filespecs all_entries.each do |entry| entry.receipts.each do |receipt| filespec = receipt_full_filespec(receipt) unused_receipt_filespecs.delete(filespec) list = (File.file?(filespec) ? existing_receipts : missing_receipts) list << { receipt: receipt, journal: entry.doc_short_name } end end { missing: missing_receipts, unused: unused_receipt_filespecs, existing: existing_receipts } end
Private Instance Methods
all_receipt_filespecs()
click to toggle source
# File lib/rock_books/reports/data/receipts_report_data.rb, line 36 def all_receipt_filespecs Dir['receipts/**/*'].select { |s| File.file?(s) } \ .sort \ .map { |s| "./" + s } # Prepend './' to match the data end
receipt_full_filespec(receipt_filespec)
click to toggle source
# File lib/rock_books/reports/data/receipts_report_data.rb, line 43 def receipt_full_filespec(receipt_filespec) File.join(receipt_dir, receipt_filespec) end