class FakeSQS::FileDatabase
Attributes
filename[R]
Public Class Methods
new(filename)
click to toggle source
# File lib/fake_sqs/databases/file.rb, line 8 def initialize(filename) @filename = filename @queue_objects = {} end
Public Instance Methods
[](key)
click to toggle source
# File lib/fake_sqs/databases/file.rb, line 36 def [](key) value = storage[key] if value deserialize(key) else value end end
[]=(key, value)
click to toggle source
# File lib/fake_sqs/databases/file.rb, line 32 def []=(key, value) storage[key] = value.to_yaml end
delete(key)
click to toggle source
# File lib/fake_sqs/databases/file.rb, line 58 def delete(key) @queue_objects.delete(key) storage.delete(key) end
each() { |key, deserialize(key)| ... }
click to toggle source
# File lib/fake_sqs/databases/file.rb, line 45 def each(&block) storage.each do |key, value| yield key, deserialize(key) end end
load()
click to toggle source
# File lib/fake_sqs/databases/file.rb, line 13 def load transaction do store["queues"] ||= {} end end
reset()
click to toggle source
# File lib/fake_sqs/databases/file.rb, line 25 def reset transaction do store["queues"] = {} end @queue_objects = {} end
select() { |key, deserialize(key)| ... }
click to toggle source
# File lib/fake_sqs/databases/file.rb, line 51 def select(&block) new_list = storage.select do |key, value| yield key, deserialize(key) end Hash[new_list.map { |key, value| [key, deserialize(key)] }] end
transaction() { || ... }
click to toggle source
# File lib/fake_sqs/databases/file.rb, line 19 def transaction store.transaction do yield end end
values()
click to toggle source
# File lib/fake_sqs/databases/file.rb, line 63 def values storage.map { |key, value| deserialize(key) } end
Private Instance Methods
deserialize(key)
click to toggle source
# File lib/fake_sqs/databases/file.rb, line 71 def deserialize(key) @queue_objects[key] ||= Queue.new(storage[key].merge(message_factory: Message)) end
storage()
click to toggle source
# File lib/fake_sqs/databases/file.rb, line 75 def storage store["queues"] end
store()
click to toggle source
# File lib/fake_sqs/databases/file.rb, line 79 def store @store ||= YAML::Store.new(filename) end