Book: add start_date and end_date

This commit is contained in:
Josh Holtrop 2013-08-08 23:50:34 -04:00
parent b6f16cfccf
commit 3698154c2e

View File

@ -5,6 +5,8 @@ module Gnucash
class Book class Book
attr_accessor :accounts attr_accessor :accounts
attr_accessor :transactions attr_accessor :transactions
attr_accessor :start_date
attr_accessor :end_date
def initialize(fname) def initialize(fname)
@ng = Nokogiri.XML(Zlib::GzipReader.open(fname).read) @ng = Nokogiri.XML(Zlib::GzipReader.open(fname).read)
@ -31,8 +33,13 @@ module Gnucash
end end
def build_transactions def build_transactions
@start_date = nil
@end_date = nil
@transactions = @book_node.xpath('gnc:transaction').map do |txn_node| @transactions = @book_node.xpath('gnc:transaction').map do |txn_node|
Transaction.new(self, txn_node) Transaction.new(self, txn_node).tap do |txn|
@start_date = txn.date if @start_date.nil? or txn.date < @start_date
@end_date = txn.date if @end_date.nil? or txn.date > @end_date
end
end end
end end