X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/391fb933f59075e36e9cea5ea35f5a5efdfc257e..2b8798d769f273ae11b5da902c0879cbc15c0072:/app/models/concerns/geo_record.rb diff --git a/app/models/concerns/geo_record.rb b/app/models/concerns/geo_record.rb index 06049c295..bd96e0ff3 100644 --- a/app/models/concerns/geo_record.rb +++ b/app/models/concerns/geo_record.rb @@ -1,5 +1,3 @@ -require "delegate" - module GeoRecord extend ActiveSupport::Concern @@ -7,12 +5,12 @@ module GeoRecord # and not e.g. 4.0e-05 # Unfortunately you can't extend Numeric classes directly (e.g. `Coord < Float`). class Coord < DelegateClass(Float) - def initialize(obj) - super(obj) + def to_s + format("%.7f", :coord => self) end - def to_s - format("%.7f", self) + def as_json(*) + format("%.7f", :coord => self).to_f end end @@ -22,7 +20,7 @@ module GeoRecord SCALE = 10000000 included do - scope :bbox, ->(bbox) { where(OSM.sql_for_area(bbox)) } + scope :bbox, ->(bbox) { where(OSM.sql_for_area(bbox, "#{table_name}.")) } before_save :update_tile end