X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/8de8ef4f6b0174f68efca340b2e71df34fe2ae63..e799022131f3e833179e9058060ec5e136ed2edd:/app/models/way.rb diff --git a/app/models/way.rb b/app/models/way.rb index 55b953ce9..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,6 +135,7 @@ class Way < ActiveRecord::Base end old_way = OldWay.from_way(self) + old_way.timestamp = t old_way.save_with_dependencies end