dawarich/app/services/jobs/create.rb

28 lines
609 B
Ruby
Raw Normal View History

# frozen_string_literal: true
class Jobs::Create
class InvalidJobName < StandardError; end
2024-08-05 15:23:08 -04:00
attr_reader :job_name, :user
def initialize(job_name, user_id)
@job_name = job_name
@user = User.find(user_id)
end
def call
points =
case job_name
when 'start_reverse_geocoding'
user.tracked_points
when 'continue_reverse_geocoding'
user.tracked_points.not_reverse_geocoded
else
raise InvalidJobName, 'Invalid job name'
end
2025-05-31 15:27:20 -04:00
# TODO: bulk enqueue reverse geocoding with ActiveJob
points.find_each(&:async_reverse_geocode)
end
end