-class OldNode < GeoRecord
+class OldNode < ActiveRecord::Base
+ include GeoRecord
+
set_table_name 'nodes'
validates_presence_of :user_id, :timestamp
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
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
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