It's a convention in rails to name your mailers with a Mailer suffix, and is also common to name the class after the recipient (e.g. User, Admin). So UserMailer seems a reasonable choice.
19 lines
551 B
Ruby
19 lines
551 B
Ruby
class TraceImporterJob < ApplicationJob
|
|
queue_as :traces
|
|
|
|
def perform(trace)
|
|
gpx = trace.import
|
|
|
|
if gpx.actual_points.positive?
|
|
UserMailer.gpx_success(trace, gpx.actual_points).deliver
|
|
else
|
|
UserMailer.gpx_failure(trace, "0 points parsed ok. Do they all have lat,lng,alt,timestamp?").deliver
|
|
trace.destroy
|
|
end
|
|
rescue StandardError => e
|
|
logger.info e.to_s
|
|
e.backtrace.each { |l| logger.info l }
|
|
UserMailer.gpx_failure(trace, e.to_s + "\n" + e.backtrace.join("\n")).deliver
|
|
trace.destroy
|
|
end
|
|
end
|