aboutsummaryrefslogtreecommitdiffstats
path: root/activeresource/lib/active_resource/connection.rb
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2006-09-09 00:11:12 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2006-09-09 00:11:12 +0000
commit0a84624bd78643f2161d162f68669de03fe2bac8 (patch)
tree5f4f21f814a6be2db296fbad2fe7658d62f7c4f3 /activeresource/lib/active_resource/connection.rb
parent2c6747f858481efa1bc3612e955861c13dc1c95b (diff)
downloadrails-0a84624bd78643f2161d162f68669de03fe2bac8.tar.gz
rails-0a84624bd78643f2161d162f68669de03fe2bac8.tar.bz2
rails-0a84624bd78643f2161d162f68669de03fe2bac8.zip
Optimistic locking: raise ActiveResource::ResourceConflict on 409 Conflict response.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5078 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activeresource/lib/active_resource/connection.rb')
-rw-r--r--activeresource/lib/active_resource/connection.rb12
1 files changed, 6 insertions, 6 deletions
diff --git a/activeresource/lib/active_resource/connection.rb b/activeresource/lib/active_resource/connection.rb
index 132e861292..21573a34cb 100644
--- a/activeresource/lib/active_resource/connection.rb
+++ b/activeresource/lib/active_resource/connection.rb
@@ -17,14 +17,12 @@ module ActiveResource
end
end
- class ClientError < ConnectionError
- end
+ class ClientError < ConnectionError; end # 4xx Client Error
+ class ResourceNotFound < ClientError; end # 404 Not Found
+ class ResourceConflict < ClientError; end # 409 Conflict
- class ServerError < ConnectionError
- end
+ class ServerError < ConnectionError; end # 5xx Server Error
- class ResourceNotFound < ClientError
- end
class Connection
attr_accessor :site
@@ -73,6 +71,8 @@ module ActiveResource
raise(ResourceNotFound.new(response))
when 400
raise(ResourceInvalid.new(response))
+ when 409
+ raise(ResourceConflict.new(response))
when 401...500
raise(ClientError.new(response))
when 500...600