class FakeServiceBus::Actions::ReceiveMessage
Constants
- MAX_WAIT_TIME_SECONDS
Public Class Methods
new(options = {})
click to toggle source
# File lib/fake_servicebus/actions/receive_message.rb, line 7 def initialize(options = {}) @server = options.fetch(:server) @queues = options.fetch(:queues) @start_ts = Time.now.to_f @satisfied = false end
Public Instance Methods
call(queue_name, params)
click to toggle source
# File lib/fake_servicebus/actions/receive_message.rb, line 14 def call(queue_name, params) queue = @queues.get(queue_name) message = queue.receive_message(params.merge(queues: @queues)) @satisfied = !message.nil? || expired?(queue, params) if !message.nil? [201, {'location'=>message.location, 'BrokerProperties'=>{'SequenceNumber'=>message.sequence_number, 'LockToken'=>message.lock_token}.to_json}, message.body] end end
satisfied?()
click to toggle source
# File lib/fake_servicebus/actions/receive_message.rb, line 27 def satisfied? @satisfied end
Protected Instance Methods
elapsed()
click to toggle source
# File lib/fake_servicebus/actions/receive_message.rb, line 32 def elapsed Time.now.to_f - @start_ts end
expired?(queue, params)
click to toggle source
# File lib/fake_servicebus/actions/receive_message.rb, line 36 def expired?(queue, params) wait_time_seconds = Integer params.fetch("timeout") { 0 } wait_time_seconds <= 0 || elapsed >= wait_time_seconds || elapsed >= MAX_WAIT_TIME_SECONDS end