From 9689b724d125d7650dab61acdf6e1aa47d72d94d Mon Sep 17 00:00:00 2001 From: Eugene Burmakin Date: Sun, 28 Dec 2025 17:05:35 +0100 Subject: [PATCH] Remove comments --- app/models/user.rb | 1 - app/serializers/stats_serializer.rb | 1 - app/services/countries_and_cities.rb | 3 -- .../reverse_geocoding/places/fetch_data.rb | 48 +++++++++---------- 4 files changed, 23 insertions(+), 30 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index 8c15c6be..a53f6fc6 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -73,7 +73,6 @@ class User < ApplicationRecord # rubocop:disable Metrics/ClassLength end def total_reverse_geocoded_points - # Use cached count from StatsQuery instead of direct COUNT query StatsQuery.new(self).points_stats[:geocoded] end diff --git a/app/serializers/stats_serializer.rb b/app/serializers/stats_serializer.rb index cc7ff569..bade2fe0 100644 --- a/app/serializers/stats_serializer.rb +++ b/app/serializers/stats_serializer.rb @@ -27,7 +27,6 @@ class StatsSerializer end def reverse_geocoded_points - # Use cached count from StatsQuery instead of direct COUNT query StatsQuery.new(user).points_stats[:geocoded] end diff --git a/app/services/countries_and_cities.rb b/app/services/countries_and_cities.rb index 3fa7669a..3d3ff2f4 100644 --- a/app/services/countries_and_cities.rb +++ b/app/services/countries_and_cities.rb @@ -9,9 +9,6 @@ class CountriesAndCities end def call - # Use attribute access directly to avoid N+1 on country association - # when country_name column is nil and Point#country_name method - # falls back to country&.name points .reject { |point| point[:country_name].nil? || point[:city].nil? } .group_by { |point| point[:country_name] } diff --git a/app/services/reverse_geocoding/places/fetch_data.rb b/app/services/reverse_geocoding/places/fetch_data.rb index 54c30dd7..81fd0bd9 100644 --- a/app/services/reverse_geocoding/places/fetch_data.rb +++ b/app/services/reverse_geocoding/places/fetch_data.rb @@ -48,7 +48,6 @@ class ReverseGeocoding::Places::FetchData ) end - def find_place(place_data, existing_places) osm_id = place_data['properties']['osm_id'].to_s @@ -82,9 +81,9 @@ class ReverseGeocoding::Places::FetchData def find_existing_places(osm_ids) Place.where("geodata->'properties'->>'osm_id' IN (?)", osm_ids) - .global - .index_by { |p| p.geodata.dig('properties', 'osm_id').to_s } - .compact + .global + .index_by { |p| p.geodata.dig('properties', 'osm_id').to_s } + .compact end def prepare_places_for_bulk_operations(places, existing_places) @@ -114,9 +113,9 @@ class ReverseGeocoding::Places::FetchData place.geodata = data place.source = :photon - if place.lonlat.blank? - place.lonlat = build_point_coordinates(data['geometry']['coordinates']) - end + return if place.lonlat.present? + + place.lonlat = build_point_coordinates(data['geometry']['coordinates']) end def save_places(places_to_create, places_to_update) @@ -138,24 +137,23 @@ class ReverseGeocoding::Places::FetchData Place.insert_all(place_attributes) end - # Batch update existing places to avoid N+1 - if places_to_update.any? - update_attributes = places_to_update.map do |place| - { - id: place.id, - name: place.name, - latitude: place.latitude, - longitude: place.longitude, - lonlat: place.lonlat, - city: place.city, - country: place.country, - geodata: place.geodata, - source: place.source, - updated_at: Time.current - } - end - Place.upsert_all(update_attributes, unique_by: :id) + return unless places_to_update.any? + + update_attributes = places_to_update.map do |place| + { + id: place.id, + name: place.name, + latitude: place.latitude, + longitude: place.longitude, + lonlat: place.lonlat, + city: place.city, + country: place.country, + geodata: place.geodata, + source: place.source, + updated_at: Time.current + } end + Place.upsert_all(update_attributes, unique_by: :id) end def build_point_coordinates(coordinates) @@ -163,7 +161,7 @@ class ReverseGeocoding::Places::FetchData end def geocoder_places - data = Geocoder.search( + Geocoder.search( [place.lat, place.lon], limit: 10, distance_sort: true,