openstreetmap-website/app/models/old_way.rb
2006-11-27 10:35:10 +00:00

65 lines
1 KiB
Ruby

class OldWay < ActiveRecord::Base
set_table_name 'ways'
belongs_to :user
def self.from_way(way)
old_way = OldWay.new
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