mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-08-09 07:25:19 +02:00
Update family cache timestamps during Sync
This commit is contained in:
parent
f1c7660ff6
commit
7000e5ce20
1 changed files with 24 additions and 3 deletions
|
@ -29,13 +29,13 @@ class Sync < ApplicationRecord
|
||||||
state :failed
|
state :failed
|
||||||
state :stale
|
state :stale
|
||||||
|
|
||||||
after_all_transitions :log_status_change
|
after_all_transitions :handle_transition
|
||||||
|
|
||||||
event :start, after_commit: :report_warnings do
|
event :start, after_commit: :handle_start_transition do
|
||||||
transitions from: :pending, to: :syncing
|
transitions from: :pending, to: :syncing
|
||||||
end
|
end
|
||||||
|
|
||||||
event :complete do
|
event :complete, after_commit: :handle_completion_transition do
|
||||||
transitions from: :syncing, to: :completed
|
transitions from: :syncing, to: :completed
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -163,9 +163,30 @@ class Sync < ApplicationRecord
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def handle_start_transition
|
||||||
|
report_warnings
|
||||||
|
end
|
||||||
|
|
||||||
|
def handle_transition
|
||||||
|
log_status_change
|
||||||
|
family.touch(:latest_sync_activity_at)
|
||||||
|
end
|
||||||
|
|
||||||
|
def handle_completion_transition
|
||||||
|
family.touch(:latest_sync_completed_at)
|
||||||
|
end
|
||||||
|
|
||||||
def window_valid
|
def window_valid
|
||||||
if window_start_date && window_end_date && window_start_date > window_end_date
|
if window_start_date && window_end_date && window_start_date > window_end_date
|
||||||
errors.add(:window_end_date, "must be greater than window_start_date")
|
errors.add(:window_end_date, "must be greater than window_start_date")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def family
|
||||||
|
if syncable.is_a?(Family)
|
||||||
|
syncable
|
||||||
|
else
|
||||||
|
syncable.family
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue