# Should probably be renamed delete_from to come in line with update
def delete_with_history!(new_node, user)
unless self.visible
- raise OSM::APIAlreadyDeletedError.new
+ raise OSM::APIAlreadyDeletedError.new("node", new_node.id)
end
# need to start the transaction here, so that the database can
def delete_with_history!(new_relation, user)
unless self.visible
- raise OSM::APIAlreadyDeletedError.new
+ raise OSM::APIAlreadyDeletedError.new("relation", new_relation.id)
end
# need to start the transaction here, so that the database can
def delete_with_history!(new_way, user)
unless self.visible
- raise OSM::APIAlreadyDeletedError
+ raise OSM::APIAlreadyDeletedError.new("way", new_way.id)
end
# need to start the transaction here, so that the database can
# Raised when to delete an already-deleted object.
class APIAlreadyDeletedError < APIError
+ def initialize(object = "object", object_id = "")
+ @object, @object_id = object, object_id
+ end
+
+ attr_reader :object, :object_id
+
def render_opts
- { :text => "The object has already been deleted", :status => :gone, :content_type => "text/plain" }
+ { :text => "The #{object} with the id #{object_id} has already been deleted", :status => :gone, :content_type => "text/plain" }
end
end