X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/fc25c3d412829774abf0454e4dcc92e41f47454c..8523f530990932e9e79860938185cca4ab699f17:/app/models/relation.rb diff --git a/app/models/relation.rb b/app/models/relation.rb index 659c4f18a..ce19f7b98 100644 --- a/app/models/relation.rb +++ b/app/models/relation.rb @@ -2,8 +2,9 @@ class Relation < ActiveRecord::Base require 'xml/libxml' include ConsistencyValidations - - set_table_name 'current_relations' + include NotRedactable + + self.table_name = "current_relations" belongs_to :changeset @@ -66,12 +67,22 @@ class Relation < ActiveRecord::Base # and manually set to false before the actual delete. relation.visible = true + # Start with no tags + relation.tags = Hash.new + + # Add in any tags from the XML pt.find('tag').each do |tag| raise OSM::APIBadXMLError.new("relation", pt, "tag is missing key") if tag['k'].nil? raise OSM::APIBadXMLError.new("relation", pt, "tag is missing value") if tag['v'].nil? relation.add_tag_keyval(tag['k'], tag['v']) end + # need to initialise the relation members array explicitly, as if this + # isn't done for a new relation then @members attribute will be nil, + # and the members will be loaded from the database instead of being + # empty, as intended. + relation.members = Array.new + pt.find('member').each do |member| #member_type = logger.debug "each member"