Class: FakeSQS::Queues
- Inherits:
-
Object
- Object
- FakeSQS::Queues
- Defined in:
- lib/fake_sqs/queues.rb
Instance Attribute Summary collapse
-
#database ⇒ Object
readonly
Returns the value of attribute database.
-
#queue_factory ⇒ Object
readonly
Returns the value of attribute queue_factory.
Instance Method Summary collapse
- #create(name, options = {}) ⇒ Object
- #delete(name, options = {}) ⇒ Object
- #expire ⇒ Object
- #get(name, options = {}) ⇒ Object
-
#initialize(options = {}) ⇒ Queues
constructor
A new instance of Queues.
- #list(options = {}) ⇒ Object
- #reset ⇒ Object
- #save(queue) ⇒ Object
- #timeout_messages! ⇒ Object
- #transaction ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Queues
Returns a new instance of Queues.
10 11 12 13 14 |
# File 'lib/fake_sqs/queues.rb', line 10 def initialize( = {}) @queue_factory = .fetch(:queue_factory) @database = .fetch(:database) @database.load end |
Instance Attribute Details
#database ⇒ Object (readonly)
Returns the value of attribute database.
8 9 10 |
# File 'lib/fake_sqs/queues.rb', line 8 def database @database end |
#queue_factory ⇒ Object (readonly)
Returns the value of attribute queue_factory.
8 9 10 |
# File 'lib/fake_sqs/queues.rb', line 8 def queue_factory @queue_factory end |
Instance Method Details
#create(name, options = {}) ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'lib/fake_sqs/queues.rb', line 16 def create(name, = {}) if database[name] fail QueueNameExists, name else queue = queue_factory.new() database[name] = queue end end |
#delete(name, options = {}) ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/fake_sqs/queues.rb', line 25 def delete(name, = {}) if database[name] database.delete(name) else fail NonExistentQueue, name end end |
#expire ⇒ Object
69 70 71 72 73 |
# File 'lib/fake_sqs/queues.rb', line 69 def expire transaction do database.each { |name, queue| queue.expire } end end |
#get(name, options = {}) ⇒ Object
41 42 43 44 45 46 47 |
# File 'lib/fake_sqs/queues.rb', line 41 def get(name, = {}) if (db = database[name]) db else fail NonExistentQueue, name end end |
#list(options = {}) ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/fake_sqs/queues.rb', line 33 def list( = {}) if (prefix = ["QueueNamePrefix"]) database.select { |name, queue| name.start_with?(prefix) }.values else database.values end end |
#reset ⇒ Object
59 60 61 |
# File 'lib/fake_sqs/queues.rb', line 59 def reset database.reset end |
#save(queue) ⇒ Object
55 56 57 |
# File 'lib/fake_sqs/queues.rb', line 55 def save(queue) database[queue.name] = queue end |
#timeout_messages! ⇒ Object
63 64 65 66 67 |
# File 'lib/fake_sqs/queues.rb', line 63 def transaction do database.each { |name,queue| queue. } end end |
#transaction ⇒ Object
49 50 51 52 53 |
# File 'lib/fake_sqs/queues.rb', line 49 def transaction database.transaction do yield end end |