From 5ba8e2806cffc76a1ec5694c1c01edb3465aa1f4 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Sun, 4 Aug 2013 18:44:41 -0400 Subject: [PATCH] finalize accounts to sort transactions by date --- lib/gnucash/account.rb | 6 ++++++ lib/gnucash/book.rb | 7 +++++++ lib/gnucash/transaction.rb | 1 + 3 files changed, 14 insertions(+) diff --git a/lib/gnucash/account.rb b/lib/gnucash/account.rb index 8b5781b..f8d7bcd 100644 --- a/lib/gnucash/account.rb +++ b/lib/gnucash/account.rb @@ -33,5 +33,11 @@ module Gnucash value: value, } end + + def finalize + @transactions.sort! do |a, b| + a[:txn].date <=> b[:txn].date + end + end end end diff --git a/lib/gnucash/book.rb b/lib/gnucash/book.rb index 42710dd..6c6a6f2 100644 --- a/lib/gnucash/book.rb +++ b/lib/gnucash/book.rb @@ -15,6 +15,7 @@ module Gnucash @book_node = book_nodes.first build_accounts build_transactions + finalize end def find_account_by_id(id) @@ -34,5 +35,11 @@ module Gnucash Transaction.new(self, txn_node) end end + + def finalize + @accounts.each do |account| + account.finalize + end + end end end diff --git a/lib/gnucash/transaction.rb b/lib/gnucash/transaction.rb index a472acf..275ee00 100644 --- a/lib/gnucash/transaction.rb +++ b/lib/gnucash/transaction.rb @@ -1,5 +1,6 @@ module Gnucash class Transaction + attr_accessor :date attr_accessor :value attr_accessor :id