class FakeSQS::API

Attributes

options[R]
queues[R]

Public Class Methods

new(options = {}) click to toggle source
# File lib/fake_sqs/api.rb, line 25
def initialize(options = {})
  @queues    = options.fetch(:queues)
  @options   = options
  @run_timer = true
  @timer     = Thread.new do
    while @run_timer
      queues.timeout_messages!
      sleep(0.1)
    end
  end
end

Public Instance Methods

call(action, request, *args) click to toggle source
# File lib/fake_sqs/api.rb, line 37
def call(action, request, *args)
  if FakeSQS::Actions.const_defined?(action)
    action = FakeSQS::Actions.const_get(action).new(options.merge({:request => request}))
    queues.transaction do
      action.call(*args)
    end
  else
    fail InvalidAction, "Unknown (or not yet implemented) action: #{action}"
  end
end
expire() click to toggle source
# File lib/fake_sqs/api.rb, line 54
def expire
  queues.expire
end
reset() click to toggle source

Fake actions

# File lib/fake_sqs/api.rb, line 50
def reset
  queues.reset
end
stop() click to toggle source
# File lib/fake_sqs/api.rb, line 58
def stop
  @run_timer = false
end