Parent

Class/Module Index [+]

Quicksearch

Fog::Rackspace::Queues::Claim

Public Class Methods

new(new_attributes = {}) click to toggle source
# File lib/fog/rackspace/models/queues/claim.rb, line 96
def initialize(new_attributes = {})
  # A hack in support of the #messages= hack up above. #messages= requires #collection to
  # be populated first to succeed, which is always the case in modern Rubies that preserve
  # Hash ordering, but not in 1.8.7.
  @collection = new_attributes.delete(:collection)
  super(new_attributes)
end

Public Instance Methods

destroy() click to toggle source

Destroys Claim

@return [Boolean] returns true if claim is deleted

@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 docs.rackspace.com/queues/api/v1.0/cq-devguide/content/DELETE_deleteClaim__version__queues__queue_name__claims__claimId__claims-operations-dle001.html

# File lib/fog/rackspace/models/queues/claim.rb, line 60
def destroy
  requires :identity, :queue
  service.delete_claim(queue.name, identity)

  #Since Claims aren't a server side collection, we should remove
  # the claim from the collection.
  collection.delete(self)

  true
end
messages=(messages) click to toggle source
# File lib/fog/rackspace/models/queues/claim.rb, line 71
def messages=(messages)
  #HACK - Models require a collection, but I don't really want to expose
  # the messages collection to users here.
  message_collection = Fog::Rackspace::Queues::Messages.new({
      :service => service,
      :queue => queue,
      :client_id => service.client_id,
      :echo => true
    })
  attributes[:messages] = messages.map do |message|
    if message.instance_of? Fog::Rackspace::Queues::Message
      message.claim_id = self.id
      message
    else
      Fog::Rackspace::Queues::Message.new(
        message.merge({
          :service => service,
          :collection => message_collection,
          :claim_id => self.id
        }.merge(message))
      )
    end
  end
end
save() click to toggle source

Creates or updates a claim

@return [Boolean] returns true if claim is being created

@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 docs.rackspace.com/queues/api/v1.0/cq-devguide/content/POST_claimMessages__version__queues__queue_name__claims_claims-operations-dle001.html @see docs.rackspace.com/queues/api/v1.0/cq-devguide/content/PATCH_updateClaim__version__queues__queue_name__claims__claimId__claims-operations-dle001.html

# File lib/fog/rackspace/models/queues/claim.rb, line 43
def save
  if identity.nil?
    create
  else
    update
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.