Parent

Class/Module Index [+]

Quicksearch

Fog::Rackspace::Queues::Mock::MockMessage

A single message posted to an in-memory MockQueue.

Attributes

claim[RW]
created[RW]
data[RW]
id[RW]
producer_id[RW]
queue[RW]
ttl[RW]

Public Class Methods

new(id, queue, client_id, data, ttl) click to toggle source

Create a new message. Use {MockQueue#add_message} instead.

# File lib/fog/rackspace/queues.rb, line 192
def initialize(id, queue, client_id, data, ttl)
  @id, @queue, @producer_id = id, queue, client_id
  @data, @ttl = data, ttl
  @created = Time.now.to_i
  @claim = nil
end

Public Instance Methods

age() click to toggle source

Determine how long ago this message was created, in seconds.

@return [Integer]

# File lib/fog/rackspace/queues.rb, line 202
def age
  Time.now.to_i - @created
end
claimed?() click to toggle source

Return true if this message has been claimed.

@return [Boolean]

# File lib/fog/rackspace/queues.rb, line 216
def claimed?
  ! @claim.nil?
end
expired?() click to toggle source

Determine if this message has lived longer than its designated ttl.

@return [Boolean]

# File lib/fog/rackspace/queues.rb, line 223
def expired?
  age > ttl
end
extend_life() click to toggle source

Extend the {ttl} of this message to include the lifetime of the claim it belongs to, plus the claim’s grace period.

# File lib/fog/rackspace/queues.rb, line 229
def extend_life
  return unless @claim
  extended = claim.message_end_of_life - @created
  @ttl = extended if extended > @ttl
end
href() click to toggle source

Generate a URI segment that identifies this message.

@return [String]

# File lib/fog/rackspace/queues.rb, line 209
def href
  "#{PATH_BASE}/#{@queue.name}/messages/#{@id}"
end
to_h() click to toggle source

Convert this message to a GET payload.

@return [Hash]

# File lib/fog/rackspace/queues.rb, line 238
def to_h
  {
    "body" => @data,
    "age" => age,
    "ttl" => @ttl,
    "href" => href
  }
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.