Finished phase006
CI / scan_ruby (push) Failing after 7s
CI / scan_js (push) Failing after 7s
CI / lint (push) Failing after 8s

This commit is contained in:
2026-09-16 16:37:03 -06:00
parent 0826d267f2
commit 87d2141ed0
22 changed files with 754 additions and 10 deletions
+18
View File
@@ -0,0 +1,18 @@
class MaintenanceNotification
NOTIFIABLE_STATUSES = %w[upcoming overdue].freeze
def self.record_status_change(schedule, status)
return if schedule.last_status == status.status
previous_status = schedule.last_status.presence || "unknown"
schedule.update!(last_status: status.status, last_status_changed_at: Time.current)
return unless NOTIFIABLE_STATUSES.include?(status.status)
Rails.logger.warn(
"Maintenance schedule #{status.status}: vehicle_id=#{schedule.vehicle_id} " \
"maintenance_schedule_id=#{schedule.id} maintenance_type=#{schedule.maintenance_type.inspect} " \
"previous_status=#{previous_status} due_odometer=#{status.due_odometer} due_date=#{status.due_date} " \
"reason=#{status.reason.inspect}"
)
end
end