class 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 199 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 209 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 223 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 230 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 236 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 216 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 245 def to_h { "body" => @data, "age" => age, "ttl" => @ttl, "href" => href } end