2013-07-19 21:38:31 -04:00
module Fog
module Rackspace
class Queues
2014-01-20 16:20:55 -05:00
2013-07-19 21:38:31 -04:00
class Real
2013-11-20 11:36:58 -05:00
# This operation immediately releases a claim, making any remaining, undeleted) messages that are associated with the claim available to other workers.
# Claims with malformed IDs or claims that are not found by ID are ignored.
#
# @param [String] queue_name Specifies the name of the queue.
2013-11-22 11:42:43 -05:00
# @param [String] claim_id Specifies the claim ID.
2013-11-20 11:36:58 -05:00
# @return [Excon::Response] response
# @raise [Fog::Rackspace::Queues::NotFound] - HTTP 404
# @raise [Fog::Rackspace::Queues::BadRequest] - HTTP 400
# @raise [Fog::Rackspace::Queues::InternalServerError] - HTTP 500
# @raise [Fog::Rackspace::Queues::ServiceError]
# @see http://docs.rackspace.com/queues/api/v1.0/cq-devguide/content/DELETE_deleteClaim__version__queues__queue_name__claims__claimId__claims-operations-dle001.html
2013-07-19 21:38:31 -04:00
def delete_claim ( queue_name , claim_id )
request (
:expects = > 204 ,
:method = > 'DELETE' ,
:path = > " queues/ #{ queue_name } /claims/ #{ claim_id } "
)
end
end
2014-01-20 16:20:55 -05:00
class Mock
def delete_claim ( queue_name , claim_id )
2014-01-20 16:34:47 -05:00
queue = mock_queue! ( queue_name )
2014-01-20 16:40:17 -05:00
claim = queue . claim! ( claim_id )
2014-01-20 16:20:55 -05:00
claim . messages . each do | message |
message . claim = nil
end
queue . claims . delete ( claim_id )
response = Excon :: Response . new
response . status = 204
response
end
end
2013-07-19 21:38:31 -04:00
end
end
end