dawarich/app/jobs/trips/calculate_countries_job.rb
2025-05-19 19:10:07 +02:00

25 lines
535 B
Ruby

# frozen_string_literal: true
class Trips::CalculateCountriesJob < ApplicationJob
queue_as :default
def perform(trip_id, distance_unit)
trip = Trip.find(trip_id)
trip.calculate_countries
trip.save!
broadcast_update(trip, distance_unit)
end
private
def broadcast_update(trip, distance_unit)
Turbo::StreamsChannel.broadcast_update_to(
"trip_#{trip.id}",
target: "trip_countries",
partial: "trips/countries",
locals: { trip: trip, distance_unit: distance_unit }
)
end
end