Module: FakeSQS
- Defined in:
- lib/fake_sqs.rb,
lib/fake_sqs/api.rb,
lib/fake_sqs/queue.rb,
lib/fake_sqs/queues.rb,
lib/fake_sqs/server.rb,
lib/fake_sqs/message.rb,
lib/fake_sqs/version.rb,
lib/fake_sqs/daemonize.rb,
lib/fake_sqs/responder.rb,
lib/fake_sqs/show_output.rb,
lib/fake_sqs/catch_errors.rb,
lib/fake_sqs/file_database.rb,
lib/fake_sqs/queue_factory.rb,
lib/fake_sqs/web_interface.rb,
lib/fake_sqs/error_response.rb,
lib/fake_sqs/collection_view.rb,
lib/fake_sqs/memory_database.rb,
lib/fake_sqs/test_integration.rb,
lib/fake_sqs/actions/list_queues.rb,
lib/fake_sqs/actions/create_queue.rb,
lib/fake_sqs/actions/delete_queue.rb,
lib/fake_sqs/actions/send_message.rb,
lib/fake_sqs/actions/get_queue_url.rb,
lib/fake_sqs/actions/delete_message.rb,
lib/fake_sqs/actions/receive_message.rb,
lib/fake_sqs/actions/send_message_batch.rb,
lib/fake_sqs/actions/delete_message_batch.rb,
lib/fake_sqs/actions/get_queue_attributes.rb,
lib/fake_sqs/actions/set_queue_attributes.rb,
lib/fake_sqs/actions/change_message_visibility.rb
Defined Under Namespace
Modules: Actions
Classes: API, CatchErrors, CollectionView, Daemonize, ErrorResponse, FileDatabase, MemoryDatabase, Message, Queue, QueueFactory, Queues, Responder, Server, ShowOutput, TestIntegration, WebInterface
Constant Summary
collapse
- InvalidAction =
Class.new(ArgumentError)
- MessageNotInflight =
Class.new(RuntimeError)
- ReadCountOutOfRange =
Class.new(RuntimeError)
- ReceiptHandleIsInvalid =
Class.new(RuntimeError)
- QueueNameExists =
Class.new(RuntimeError)
- NonExistentQueue =
Class.new(RuntimeError)
- VERSION =
"0.1.0"
Class Method Summary
collapse
Class Method Details
.api(options = {}) ⇒ Object
51
52
53
54
55
56
57
58
|
# File 'lib/fake_sqs.rb', line 51
def self.api(options = {})
db = database_for(options.fetch(:database) { ":memory:" })
API.new(
server: options.fetch(:server),
queues: queues(db),
responder: responder
)
end
|
.database_for(name) ⇒ Object
.message_factory ⇒ Object
72
73
74
|
# File 'lib/fake_sqs.rb', line 72
def self.message_factory
Message
end
|
.queue ⇒ Object
76
77
78
|
# File 'lib/fake_sqs.rb', line 76
def self.queue
Queue
end
|
.queue_factory ⇒ Object
68
69
70
|
# File 'lib/fake_sqs.rb', line 68
def self.queue_factory
QueueFactory.new(message_factory: message_factory, queue: queue)
end
|
.queues(database) ⇒ Object
60
61
62
|
# File 'lib/fake_sqs.rb', line 60
def self.queues(database)
Queues.new(queue_factory: queue_factory, database: database)
end
|
.responder ⇒ Object
64
65
66
|
# File 'lib/fake_sqs.rb', line 64
def self.responder
Responder.new
end
|
.server(options = {}) ⇒ Object
47
48
49
|
# File 'lib/fake_sqs.rb', line 47
def self.server(options = {})
Server.new(options)
end
|
.to_rack(options) ⇒ Object
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/fake_sqs.rb', line 17
def self.to_rack(options)
require 'fake_sqs/web_interface'
app = FakeSQS::WebInterface
if (log = options[:log])
$stdout.reopen(log, "w:utf-8")
$stderr.reopen(log, "w:utf-8")
app.enable :logging
end
if options[:verbose]
require 'fake_sqs/show_output'
app.use FakeSQS::ShowOutput
app.enable :logging
end
if options[:daemonize]
require 'fake_sqs/daemonize'
Daemonize.new(options).call
end
app.set :port, options[:port] if options[:port]
app.set :bind, options[:host] if options[:host]
app.set :server, options[:server] if options[:server]
server = FakeSQS.server(port: options[:port], host: options[:host])
app.set :api, FakeSQS.api(server: server, database: options[:database])
app
end
|