Class: FakeSNS::MessageCollection
- Inherits:
-
Object
- Object
- FakeSNS::MessageCollection
- Includes:
- Enumerable
- Defined in:
- lib/fake_sns/message_collection.rb
Instance Method Summary collapse
- #collection ⇒ Object
- #create(attributes) ⇒ Object
- #delete(arn) ⇒ Object
- #each(*args, &block) ⇒ Object
- #fetch(arn, &default) ⇒ Object
-
#initialize(store) ⇒ MessageCollection
constructor
A new instance of MessageCollection.
- #reset ⇒ Object
Constructor Details
#initialize(store) ⇒ MessageCollection
Returns a new instance of MessageCollection.
6 7 8 9 |
# File 'lib/fake_sns/message_collection.rb', line 6 def initialize(store) @store = store @store["messages"] ||= [] end |
Instance Method Details
#collection ⇒ Object
11 12 13 |
# File 'lib/fake_sns/message_collection.rb', line 11 def collection @store["messages"] end |
#create(attributes) ⇒ Object
31 32 33 |
# File 'lib/fake_sns/message_collection.rb', line 31 def create(attributes) collection << attributes end |
#delete(arn) ⇒ Object
35 36 37 |
# File 'lib/fake_sns/message_collection.rb', line 35 def delete(arn) collection.delete(fetch(arn)) end |
#each(*args, &block) ⇒ Object
19 20 21 |
# File 'lib/fake_sns/message_collection.rb', line 19 def each(*args, &block) collection.map { |item| Message.new(item) }.each(*args, &block) end |
#fetch(arn, &default) ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/fake_sns/message_collection.rb', line 23 def fetch(arn, &default) default ||= -> { raise InvalidParameterValue, "Unknown message #{arn}" } found = collection.find do || ["arn"] == arn end found || default.call end |
#reset ⇒ Object
15 16 17 |
# File 'lib/fake_sns/message_collection.rb', line 15 def reset @store["messages"] = [] end |