Class: FakeSNS::SubscriptionCollection
- Inherits:
-
Object
- Object
- FakeSNS::SubscriptionCollection
- Includes:
- Enumerable
- Defined in:
- lib/fake_sns/subscription_collection.rb
Instance Attribute Summary collapse
-
#collection ⇒ Object
readonly
Returns the value of attribute collection.
Instance Method Summary collapse
- #create(attributes) ⇒ Object
- #delete(arn) ⇒ Object
- #each(*args, &block) ⇒ Object
- #fetch(arn, &default) ⇒ Object
-
#initialize(store) ⇒ SubscriptionCollection
constructor
A new instance of SubscriptionCollection.
- #reset ⇒ Object
Constructor Details
#initialize(store) ⇒ SubscriptionCollection
Returns a new instance of SubscriptionCollection.
8 9 10 11 |
# File 'lib/fake_sns/subscription_collection.rb', line 8 def initialize(store) @store = store @store["subscriptions"] ||= [] end |
Instance Attribute Details
#collection ⇒ Object (readonly)
Returns the value of attribute collection.
6 7 8 |
# File 'lib/fake_sns/subscription_collection.rb', line 6 def collection @collection end |
Instance Method Details
#create(attributes) ⇒ Object
25 26 27 |
# File 'lib/fake_sns/subscription_collection.rb', line 25 def create(attributes) collection << attributes end |
#delete(arn) ⇒ Object
29 30 31 |
# File 'lib/fake_sns/subscription_collection.rb', line 29 def delete(arn) collection.delete(fetch(arn)) end |
#each(*args, &block) ⇒ Object
21 22 23 |
# File 'lib/fake_sns/subscription_collection.rb', line 21 def each(*args, &block) collection.map { |item| Subscription.new(item) }.each(*args, &block) end |
#fetch(arn, &default) ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/fake_sns/subscription_collection.rb', line 33 def fetch(arn, &default) default ||= -> { raise InvalidParameterValue, "Unknown subscription #{arn}" } found = collection.find do |subscription| subscription["arn"] == arn end found || default.call end |
#reset ⇒ Object
17 18 19 |
# File 'lib/fake_sns/subscription_collection.rb', line 17 def reset @store["subscriptions"] = [] end |