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

Dashboard View and Calculations (#521)

* Handle Turbo updates with tabs

Fixes #491

* Add Filterable concern for controllers

* Add trendline chart

* Extract common UI to partials

* Series refactor

* Put placeholders for calculations in

* Add classification generated column to account

* Add basic net worth calculation

* Add net worth tests

* Get net worth graph working

* Fix lint errors

* Implement asset grouping query

* Make trends and series more intuitive

* Fully functional dashboard

* Remove logging
This commit is contained in:
Zach Gollwitzer 2024-03-06 09:56:59 -05:00 committed by GitHub
parent 680a91d807
commit 6f0e410684
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
37 changed files with 594 additions and 74 deletions

View file

@ -1,17 +1,16 @@
class Trend
attr_reader :current, :previous, :type
def initialize(current:, previous: nil, type: "asset")
def initialize(current: nil, previous: nil, type: "asset")
@current = current
@previous = previous
@type = type # asset means positive trend is good, liability means negative trend is good
end
def direction
return "flat" unless @previous
return "up" if @current > @previous
return "down" if @current < @previous
"flat"
return "flat" if @current == @previous
return "up" if @previous.nil? || (@current && @current > @previous)
"down"
end
def amount
@ -22,6 +21,6 @@ class Trend
def percent
return 0 if @previous.nil?
return Float::INFINITY if @previous == 0
((@current - @previous).abs / @previous.to_f * 100).round(1)
((@current - @previous).abs / @previous.abs.to_f * 100).round(1)
end
end