X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/b95e9d27599ee55b2fd61a444acc3264c7637265..dd1f94e3414d1cbea71706dcb0e3a418db208efd:/app/models/way.rb diff --git a/app/models/way.rb b/app/models/way.rb index 9ae45d40f..43bd4d8c3 100644 --- a/app/models/way.rb +++ b/app/models/way.rb @@ -6,6 +6,8 @@ class Way < ActiveRecord::Base has_many :way_segments, :foreign_key => 'id' has_many :way_tags, :foreign_key => 'id' + has_many :old_ways, :foreign_key => :id + set_table_name 'current_ways' def self.from_xml(xml, create=false) @@ -50,7 +52,12 @@ class Way < ActiveRecord::Base root['generator'] = 'OpenStreetMap server' doc.root = root - + + root << to_xml_node() + return doc + end + + def to_xml_node el1 = XML::Node.new 'way' el1['id'] = self.id.to_s el1['visible'] = self.visible.to_s @@ -68,10 +75,9 @@ class Way < ActiveRecord::Base e['v'] = tag.v el1 << e end - - root << el1 - return doc - end + return el1 + end + def segs @segs = Array.new unless @segs @@ -83,6 +89,14 @@ class Way < ActiveRecord::Base @tags end + def segs=(s) + @segs = s + end + + def tags=(t) + @tags = t + end + def add_seg_num(n) @segs = Array.new unless @segs @segs << n.to_i @@ -121,7 +135,8 @@ class Way < ActiveRecord::Base end old_way = OldWay.from_way(self) - old_way.save + old_way.timestamp = t + old_way.save_with_dependencies end end