module AutoSync extend ActiveSupport::Concern # included do # before_action :sync_family, if: :family_needs_auto_sync? # end private def sync_family Current.family.sync_later end def family_needs_auto_sync? return false unless Current.family&.accounts&.active&.any? return false if (Current.family.last_sync_created_at&.to_date || 1.day.ago) >= Date.current return false unless Current.family.auto_sync_on_login Rails.logger.info "Auto-syncing family #{Current.family.id}, last sync was #{Current.family.last_sync_created_at}" true end end