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.
9 10 11 12 13 |
# File 'lib/fake_sqs/queues.rb', line 9 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.
7 8 9 |
# File 'lib/fake_sqs/queues.rb', line 7 def database @database end |
#queue_factory ⇒ Object (readonly)
Returns the value of attribute queue_factory.
7 8 9 |
# File 'lib/fake_sqs/queues.rb', line 7 def queue_factory @queue_factory end |
Instance Method Details
#create(name, options = {}) ⇒ Object
15 16 17 18 19 |
# File 'lib/fake_sqs/queues.rb', line 15 def create(name, = {}) return database[name] if database[name] queue = queue_factory.new() database[name] = queue end |
#delete(name, options = {}) ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/fake_sqs/queues.rb', line 21 def delete(name, = {}) if database[name] database.delete(name) else fail NonExistentQueue, name end end |
#expire ⇒ Object
65 66 67 68 69 |
# File 'lib/fake_sqs/queues.rb', line 65 def expire transaction do database.each { |name, queue| queue.expire } end end |
#get(name, options = {}) ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/fake_sqs/queues.rb', line 37 def get(name, = {}) if (db = database[name]) db else fail NonExistentQueue, name end end |
#list(options = {}) ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/fake_sqs/queues.rb', line 29 def list( = {}) if (prefix = ["QueueNamePrefix"]) database.select { |name, queue| name.start_with?(prefix) }.values else database.values end end |
#reset ⇒ Object
55 56 57 |
# File 'lib/fake_sqs/queues.rb', line 55 def reset database.reset end |
#save(queue) ⇒ Object
51 52 53 |
# File 'lib/fake_sqs/queues.rb', line 51 def save(queue) database[queue.name] = queue end |
#timeout_messages! ⇒ Object
59 60 61 62 63 |
# File 'lib/fake_sqs/queues.rb', line 59 def transaction do database.each { |name,queue| queue. } end end |
#transaction ⇒ Object
45 46 47 48 49 |
# File 'lib/fake_sqs/queues.rb', line 45 def transaction database.transaction do yield end end |