class FakeServiceBus::Message
Attributes
body[R]
delay_seconds[R]
delivery_count[R]
enqueued_timestamp[R]
location[R]
lock_token[R]
locked_until[RW]
queue_name[R]
sequence_number[R]
Public Class Methods
new(options = {})
click to toggle source
# File lib/fake_servicebus/message.rb, line 11 def initialize(options = {}) @queue_name = options.fetch("queue_name") @body = options.fetch("body") @sequence_number = options.fetch("sequence_number") { SecureRandom.random_number(9e5).to_i } @lock_token = options.fetch("lock_token") { SecureRandom.uuid } @location = "https://fake_servicebus/#{@queue_name}/messages/#{@sequence_number}/#{@lock_token}" @delivery_count = 0 @enqueued_timestamp = Time.now.to_i * 1000 #@delay_seconds = options.fetch("DelaySeconds", 0).to_i end
Public Instance Methods
attributes()
click to toggle source
# File lib/fake_servicebus/message.rb, line 47 def attributes { "QueueName"=> queue_name, "SequenceNumber"=> sequence_number, "LockToken"=> lock_token, "Location"=> location, "DeliveryCount"=> delivery_count, "EnqueuedTimestamp"=> enqueued_timestamp } end
expire!()
click to toggle source
# File lib/fake_servicebus/message.rb, line 22 def expire! self.locked_until = nil end
expire_at(seconds)
click to toggle source
# File lib/fake_servicebus/message.rb, line 34 def expire_at(seconds) self.locked_until = Time.now + seconds end
expired?( limit = Time.now )
click to toggle source
# File lib/fake_servicebus/message.rb, line 30 def expired?( limit = Time.now ) self.locked_until.nil? || self.locked_until < limit end
published?()
click to toggle source
# File lib/fake_servicebus/message.rb, line 38 def published? if self.delay_seconds && self.delay_seconds > 0 elapsed_seconds = Time.now.to_i - (self.enqueued_timestamp.to_i / 1000) elapsed_seconds >= self.delay_seconds else true end end
receive!()
click to toggle source
# File lib/fake_servicebus/message.rb, line 26 def receive! @delivery_count += 1 end