X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/df31fe13a535a9b36206c035a48f1e4cdec913f4..19965b2a5d89fdec9a6bb05f80b2b63dc632f267:/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