dawarich/app/models/place.rb

25 lines
593 B
Ruby
Raw Normal View History

2024-08-05 15:23:08 -04:00
# frozen_string_literal: true
class Place < ApplicationRecord
2024-08-12 16:18:11 -04:00
DEFAULT_NAME = 'Suggested place'
reverse_geocoded_by :latitude, :longitude
2024-08-05 15:23:08 -04:00
2024-08-12 16:18:11 -04:00
validates :name, :longitude, :latitude, presence: true
2024-08-05 15:23:08 -04:00
2024-08-12 16:18:11 -04:00
has_many :visits, dependent: :destroy
has_many :place_visits, dependent: :destroy
has_many :suggested_visits, through: :place_visits, source: :visit
2024-08-05 15:23:08 -04:00
2024-09-05 15:01:59 -04:00
enum :source, { manual: 0, photon: 1 }
2024-08-05 15:23:08 -04:00
def async_reverse_geocode
return unless REVERSE_GEOCODING_ENABLED
ReverseGeocodingJob.perform_later(self.class.to_s, id)
end
2024-08-12 16:18:11 -04:00
def reverse_geocoded?
geodata.present?
end
2024-08-05 15:23:08 -04:00
end