Class: OptOut::Adapters::MemoryAdapter
- Inherits:
-
AbstractAdapter
- Object
- AbstractAdapter
- OptOut::Adapters::MemoryAdapter
- Defined in:
- lib/opt_out/adapters/memory_adapter.rb
Overview
Adapter that stores persists data in memory in a hash.
Options
:store - optional Hash instance to store unsubscriptions
Instance Method Summary collapse
- #reset ⇒ Object
-
#subscribe(list_id, user_id) ⇒ Object
Subscribe ‘user_id` to `list_id`.
- #unsubscribe(list_id, user_id) ⇒ Object
- #unsubscribed?(list_id, user_id) ⇒ Boolean
- #unsubscribers(list_id) ⇒ Object
Methods inherited from AbstractAdapter
Constructor Details
This class inherits a constructor from OptOut::Adapters::AbstractAdapter
Instance Method Details
#reset ⇒ Object
29 30 31 |
# File 'lib/opt_out/adapters/memory_adapter.rb', line 29 def reset store.clear end |
#subscribe(list_id, user_id) ⇒ Object
Subscribe ‘user_id` to `list_id`. Returns nothing.
11 12 13 |
# File 'lib/opt_out/adapters/memory_adapter.rb', line 11 def subscribe(list_id, user_id) store.fetch(list_id, {}).delete(user_id) and return end |
#unsubscribe(list_id, user_id) ⇒ Object
15 16 17 18 19 |
# File 'lib/opt_out/adapters/memory_adapter.rb', line 15 def unsubscribe(list_id, user_id) store[list_id] ||= Set.new store[list_id] << user_id nil end |
#unsubscribed?(list_id, user_id) ⇒ Boolean
21 22 23 |
# File 'lib/opt_out/adapters/memory_adapter.rb', line 21 def unsubscribed?(list_id, user_id) (store[list_id] || []).include?(user_id) end |
#unsubscribers(list_id) ⇒ Object
25 26 27 |
# File 'lib/opt_out/adapters/memory_adapter.rb', line 25 def unsubscribers(list_id) store[list_id].to_a end |