old_way.user_id = way.user_id
old_way.timestamp = way.timestamp
old_way.id = way.id
+ old_way.segs = way.segs
+ old_way.tags = way.tags
return old_way
end
+ def save
+ t = Time.now
+ self.timestamp = t
+ self.save
+
+ WayTag.delete_all(['id = ?', self.id])
+
+ self.tags.each do |k,v|
+ tag = WayTag.new
+ tag.k = k
+ tag.v = v
+ tag.id = self.id
+ tag.save
+ end
+
+ WaySegment.delete_all(['id = ?', self.id])
+
+ i = 0
+ self.segs.each do |n|
+ seg = WaySegment.new
+ seg.id = self.id
+ seg.segment_id = n
+ seg.sequence_id = i
+ seg.save
+ i += 1
+ end
+
+ old_way = OldWay.from_way(self)
+ old_way.save
+ end
+
+ def segs
+ @segs = Array.new unless @segs
+ @segs
+ end
+
+ def tags
+ @tags = Hash.new unless @tags
+ @tags
+ end
+
+ def segs=(s)
+ @segs = s
+ end
+
+ def tags=(t)
+ @tags = t
+ end
+
end