X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/e03ea17a227b09df70899b035680b51b3da2c61b..0c90905495a5d9fd40282456b4d4098da6adda48:/app/models/node.rb diff --git a/app/models/node.rb b/app/models/node.rb index f9210bf06..9ed5c3bbf 100644 --- a/app/models/node.rb +++ b/app/models/node.rb @@ -1,5 +1,6 @@ -class Node < ActiveRecord::Base +class Node < GeoRecord require 'xml/libxml' + set_table_name 'current_nodes' validates_presence_of :user_id, :timestamp @@ -10,34 +11,6 @@ class Node < ActiveRecord::Base has_many :old_nodes, :foreign_key => :id belongs_to :user - before_save :update_tile - - def self.find_by_area(minlat, minlon, maxlat, maxlon, options) - self.with_scope(:find => {:conditions => OSM.sql_for_area(minlat, minlon, maxlat, maxlon)}) do - return self.find(:all, options) - end - end - - def update_tile - self.tile = QuadTile.tile_for_point(lat, lon) - end - - def lat=(l) - self.latitude = (l * 10000000).round - end - - def lon=(l) - self.longitude = (l * 10000000).round - end - - def lat - return self.latitude.to_f / 10000000 - end - - def lon - return self.longitude.to_f / 10000000 - end - def validate_position errors.add_to_base("Node is not in the world") unless in_world? end