X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/9acc6d32883435ab9734cd4970b292583075a75d..3e9b6845d34f9cd80f9eb1099f76f7801bfae76f:/app/models/way.rb diff --git a/app/models/way.rb b/app/models/way.rb index 52d280209..325ffae48 100644 --- a/app/models/way.rb +++ b/app/models/way.rb @@ -287,11 +287,11 @@ class Way < ActiveRecord::Base # if any referenced nodes are placeholder IDs (i.e: are negative) then # this calling this method will fix them using the map from placeholders # to IDs +id_map+. - def fix_placeholders!(id_map) + def fix_placeholders!(id_map, placeholder_id = nil) self.nds.map! do |node_id| if node_id < 0 new_id = id_map[:node][node_id] - raise "invalid placeholder for #{node_id.inspect}: #{new_id.inspect}" if new_id.nil? + raise OSM::APIBadUserInput.new("Placeholder node not found for reference #{node_id} in way #{self.id.nil? ? placeholder_id : self.id}") if new_id.nil? new_id else node_id