class City < ApplicationRecord
  extend FriendlyId
  friendly_id :name, use: :slugged

  has_many :weather_arts, dependent: :destroy

  validates :name, presence: true
  validates :latitude, presence: true
  validates :longitude, presence: true

  def should_generate_new_friendly_id?
    name_changed? || super
  end

  def self.ransackable_associations(auth_object = nil)
    [ "weather_arts" ]
  end

  def self.ransackable_attributes(auth_object = nil)
    ["active", "country", "created_at", "id", "id_value", "last_image_generation", "last_weather_fetch", "latitude", "longitude", "name", "priority", "region", "slug", "timezone", "updated_at"]
  end

end
