"#{@allowed} is allowed.", :status => :conflict }
end
end
+
+ # Raised when a diff upload has an unknown action. You can only have create,
+ # modify, or delete
+ class APIChangesetActionInvalid < APIError
+ def initialize(provided)
+ @provided = provided
+ end
+
+ def render_opts
+ { :text => "Unknown action #{@provided}, choices are create, modify, delete.",
+ :status => :bad_request }
+ end
+ end
# Raised when bad XML is encountered which stops things parsing as
# they should.
# Raised when the provided version is not equal to the latest in the db.
class APIVersionMismatchError < APIError
- def initialize(provided, latest)
- @provided, @latest = provided, latest
+ def initialize(id, type, provided, latest)
+ @id, @type, @provided, @latest = id, type, provided, latest
end
- attr_reader :provided, :latest
+ attr_reader :provided, :latest, :id, :type
def render_opts
{ :text => "Version mismatch: Provided " + provided.to_s +
- ", server had: " + latest.to_s, :status => :conflict }
+ ", server had: " + latest.to_s + " of " + type + " " + id.to_s,
+ :status => :conflict }
end
end