dawarich/app/services/users/export_data/visits.rb

31 lines
614 B
Ruby
Raw Permalink Normal View History

2025-06-25 16:23:43 -04:00
# frozen_string_literal: true
class Users::ExportData::Visits
def initialize(user)
@user = user
end
def call
user.visits.includes(:place).map do |visit|
visit_hash = visit.as_json(except: %w[user_id place_id id])
if visit.place
visit_hash['place_reference'] = {
'name' => visit.place.name,
'latitude' => visit.place.lat.to_s,
'longitude' => visit.place.lon.to_s,
'source' => visit.place.source
}
else
visit_hash['place_reference'] = nil
end
visit_hash
end
end
private
attr_reader :user
end