diff --git a/.gitignore b/.gitignore index dc09d53e..b75bf5d4 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ # Ignore bundler config. /.bundle +/vendor/bundle # Ignore all environment files (except templates). /.env* diff --git a/Procfile.dev b/Procfile.dev index 18f6d0df..f3cfa172 100644 --- a/Procfile.dev +++ b/Procfile.dev @@ -1,3 +1,3 @@ -web: ${DEBUG:+rdbg -O -n -c --} bin/rails server -b 0.0.0.0 -css: bin/rails tailwindcss:watch +web: bundle exec ${DEBUG:+rdbg -O -n -c --} bin/rails server -b 0.0.0.0 +css: bundle exec bin/rails tailwindcss:watch worker: bundle exec good_job start diff --git a/app/models/account.rb b/app/models/account.rb index fcc9dc25..e9a6160f 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -99,6 +99,10 @@ class Account < ApplicationRecord Holding::Syncer.new(self, start_date: start_date).run end + def post_sync + accountable.post_sync + end + def original_balance balance_amount = balances.chronological.first&.balance || balance Money.new(balance_amount, currency) diff --git a/app/models/account/balance/syncer.rb b/app/models/account/balance/syncer.rb index d0e4546e..24a43f8b 100644 --- a/app/models/account/balance/syncer.rb +++ b/app/models/account/balance/syncer.rb @@ -46,6 +46,6 @@ class Account::Balance::Syncer end def is_partial_sync? - sync_start_date == provided_start_date && sync_start_date < Date.current + sync_start_date == provided_start_date end end diff --git a/app/models/concerns/accountable.rb b/app/models/concerns/accountable.rb index a7a10284..84515374 100644 --- a/app/models/concerns/accountable.rb +++ b/app/models/concerns/accountable.rb @@ -33,4 +33,15 @@ module Accountable rescue Money::ConversionError TimeSeries.new([]) end + + def post_sync + broadcast_remove_to(account, target: "syncing-notification") + + broadcast_replace_to( + account, + target: "chart_account_#{account.id}", + partial: "accounts/show/chart", + locals: { account: account } + ) + end end diff --git a/app/models/investment.rb b/app/models/investment.rb index e9df9a4f..ced62765 100644 --- a/app/models/investment.rb +++ b/app/models/investment.rb @@ -54,4 +54,15 @@ class Investment < ApplicationRecord def icon "line-chart" end + + def post_sync + broadcast_remove_to(account, target: "syncing-notification") + + broadcast_replace_to( + account, + target: "chart_account_#{account.id}", + partial: account.plaid_account_id.present? ? "investments/chart" : "accounts/show/chart", + locals: { account: account } + ) + end end diff --git a/app/views/accounts/show/_chart.html.erb b/app/views/accounts/show/_chart.html.erb index c3762c62..6b825b48 100644 --- a/app/views/accounts/show/_chart.html.erb +++ b/app/views/accounts/show/_chart.html.erb @@ -1,11 +1,11 @@ -<%# locals: (account:, title: nil, tooltip: nil) %> +<%# locals: (account:, title: nil, tooltip: nil, **args) %> <% period = Period.from_param(params[:period]) %> <% series = account.series(period: period) %> <% trend = series.trend %> <% default_value_title = account.asset? ? t(".balance") : t(".owed") %> -