]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/way.rb
Bring some sort of sanity to sequence numbers for segments in a
[rails.git] / app / models / way.rb
index 9658a99291a2b6655013b5c8a4df533f47bf623f..9d2239d5ca642f616a65b93a6042ec38555f57fa 100644 (file)
@@ -61,7 +61,7 @@ class Way < ActiveRecord::Base
 
     user_display_name_cache = {} if user_display_name_cache.nil?
     
-    if user_display_name_cache and user_display_name_cache[self.user_id]
+    if user_display_name_cache and user_display_name_cache.key?(self.user_id)
       # use the cache if available
     elsif self.user.data_public?
       user_display_name_cache[self.user_id] = self.user.display_name
@@ -148,10 +148,12 @@ class Way < ActiveRecord::Base
         t = Time.now
         self.timestamp = t
         self.save!
-    
+
+        tags = self.tags
+
         WayTag.delete_all(['id = ?', self.id])
 
-        self.tags.each do |k,v|
+        tags.each do |k,v|
           tag = WayTag.new
           tag.k = k
           tag.v = v
@@ -159,10 +161,12 @@ class Way < ActiveRecord::Base
           tag.save!
         end
 
+        segs = self.segs
+
         WaySegment.delete_all(['id = ?', self.id])
-    
-        i = 0
-        self.segs.each do |n|
+
+        i = 1
+        segs.each do |n|
           seg = WaySegment.new
           seg.id = self.id
           seg.segment_id = n