1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-08-05 05:25:24 +02:00

Basic Account Balance Sync Algorithm (#501)

* Sketch out sync interface

* Add basic account sync algorithm

* Update logic for final balance in series

* Remove start_date concept

* Clean up tests

* Improve clarity of test

* Update app/models/account.rb

Co-authored-by: Rob Zolkos <rob@zolkos.com>
Signed-off-by: Zach Gollwitzer <zach.gollwitzer@gmail.com>

* Update app/models/transaction.rb

Co-authored-by: Rob Zolkos <rob@zolkos.com>
Signed-off-by: Zach Gollwitzer <zach.gollwitzer@gmail.com>

* Update app/models/valuation.rb

Co-authored-by: Rob Zolkos <rob@zolkos.com>
Signed-off-by: Zach Gollwitzer <zach.gollwitzer@gmail.com>

* Re-organize code, simplify job interface

* Consolidate balance calculations

* More cleanup

---------

Signed-off-by: Zach Gollwitzer <zach.gollwitzer@gmail.com>
Co-authored-by: Rob Zolkos <rob@zolkos.com>
This commit is contained in:
Zach Gollwitzer 2024-02-29 08:32:52 -05:00 committed by GitHub
parent fb657856a5
commit dbf575c02a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 207 additions and 175 deletions

View file

@ -1 +1,2 @@
checking: {}
savings: {}

View file

@ -5,10 +5,10 @@ generic:
balance: 1200
# Account with only valuations
collectible:
collectable:
family: dylan_family
name: Collectible Account
balance: 500
name: Collectable Account
balance: 550
# Account with only transactions
checking:

View file

@ -25,7 +25,7 @@ checking_four:
checking_five:
name: Netflix
date: <%= 30.days.ago.to_date %>
date: <%= 29.days.ago.to_date %>
amount: 15
account: checking
@ -50,6 +50,6 @@ savings_three:
savings_four:
name: Check Deposit
date: <%= 30.days.ago.to_date %>
date: <%= 29.days.ago.to_date %>
amount: -500
account: savings_with_valuation_overrides

View file

@ -1,18 +1,18 @@
# For collectible account that only has valuations (no transactions)
collectible_one:
# For collectable account that only has valuations (no transactions)
collectable_one:
value: 550
date: <%= 4.days.ago.to_date %>
account: collectible
account: collectable
collectible_two:
collectable_two:
value: 700
date: <%= 12.days.ago.to_date %>
account: collectible
account: collectable
collectible_three:
collectable_three:
value: 400
date: <%= 30.days.ago.to_date %>
account: collectible
account: collectable
# For checking account that has valuations and transactions
savings_one:
@ -24,3 +24,8 @@ savings_two:
value: 19500
date: <%= 12.days.ago.to_date %>
account: savings_with_valuation_overrides
savings_three:
value: 21000
date: <%= 25.days.ago.to_date %>
account: savings_with_valuation_overrides