X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/4424cd5b947432848fe7f5bc7518fd1b718ecf6c..36203ebe261d38bab5a17ac866c6ed384d70e978:/app/models/old_node.rb diff --git a/app/models/old_node.rb b/app/models/old_node.rb index 2f960d886..76eab8427 100644 --- a/app/models/old_node.rb +++ b/app/models/old_node.rb @@ -1,4 +1,6 @@ -class OldNode < GeoRecord +class OldNode < ActiveRecord::Base + include GeoRecord + set_table_name 'nodes' validates_presence_of :user_id, :timestamp @@ -27,7 +29,6 @@ class OldNode < GeoRecord old_node.timestamp = node.timestamp old_node.user_id = node.user_id old_node.id = node.id - old_node.version = node.version return old_node end @@ -38,7 +39,7 @@ class OldNode < GeoRecord el1['lon'] = self.lon.to_s el1['user'] = self.user.display_name if self.user.data_public? - self.tags.each do |k,v| + Tags.split(self.tags) do |k,v| el2 = XML::Node.new('tag') el2['k'] = k.to_s el2['v'] = v.to_s @@ -49,38 +50,22 @@ class OldNode < GeoRecord el1['timestamp'] = self.timestamp.xmlschema return el1 end - - def save_with_dependencies! - save! - #not sure whats going on here - clear_aggregation_cache - clear_association_cache - #ok from here - @attributes.update(OldNode.find(:first, :conditions => ['id = ? AND timestamp = ?', self.id, self.timestamp]).instance_variable_get('@attributes')) - - self.tags.each do |k,v| - tag = OldNodeTag.new - tag.k = k - tag.v = v - tag.id = self.id - tag.version = self.version - tag.save! + + def tags_as_hash + hash = {} + Tags.split(self.tags) do |k,v| + hash[k] = v end + hash end - def tags - unless @tags - @tags = Hash.new - OldNodeTag.find(:all, :conditions => ["id = ? AND version = ?", self.id, self.version]).each do |tag| - @tags[tag.k] = tag.v - end - end - @tags = Hash.new unless @tags - @tags + # Pretend we're not in any ways + def ways + return [] end - def tags=(t) - @tags = t - end - + # Pretend we're not in any relations + def containing_relation_members + return [] + end end