mirror of
https://github.com/Freika/dawarich.git
synced 2026-01-11 09:41:40 -05:00
26 lines
545 B
Ruby
26 lines
545 B
Ruby
|
|
# frozen_string_literal: true
|
||
|
|
|
||
|
|
class Jobs::Create
|
||
|
|
class InvalidJobName < StandardError; end
|
||
|
|
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
|
||
|
|
|
||
|
|
points.each(&:async_reverse_geocode)
|
||
|
|
end
|
||
|
|
end
|