Class: OptOut::Adapters::AbstractAdapter
- Inherits:
-
Object
- Object
- OptOut::Adapters::AbstractAdapter
- Defined in:
- lib/opt_out/adapters/abstract_adapter.rb
Overview
An adapter is responsible for tracking (un/re)subscriptions, and unsubscribers.
Direct Known Subclasses
Instance Method Summary collapse
-
#initialize(options = nil) ⇒ AbstractAdapter
constructor
A new instance of AbstractAdapter.
-
#reset ⇒ Object
Private: reset internal data store for testing.
-
#subscribe(list_id, user_id) ⇒ Object
Public: Resubscribe ‘user_id` to `list_id`.
-
#subscribed?(list_id, user_id) ⇒ Boolean
Public: ‘user_id` is subscribed? to `list_id` iff it’s unsubscribed.
-
#unsubscribe(list_id, user_id) ⇒ Object
Public: unsubscribe ‘user_id` from `list_id`.
-
#unsubscribed?(list_id, user_id) ⇒ Boolean
Public: is ‘user_id` unsubscribed from `list_id`?.
-
#unsubscribers(list_id) ⇒ Object
Public: returns an array of unsubscribers for ‘list_id`.
Constructor Details
#initialize(options = nil) ⇒ AbstractAdapter
Returns a new instance of AbstractAdapter.
6 7 8 |
# File 'lib/opt_out/adapters/abstract_adapter.rb', line 6 def initialize( = nil) @options = || {} end |
Instance Method Details
#reset ⇒ Object
Private: reset internal data store for testing
47 48 49 |
# File 'lib/opt_out/adapters/abstract_adapter.rb', line 47 def reset raise NotImplementedError.new end |
#subscribe(list_id, user_id) ⇒ Object
Public: Resubscribe ‘user_id` to `list_id`. Note that adapters should only keep track of unsubscriptions. Even if subscribe has never been called before, a user is unsubscribed only if `#unsubscribe` is called.
Returns nothing.
23 24 25 |
# File 'lib/opt_out/adapters/abstract_adapter.rb', line 23 def subscribe(list_id, user_id) raise NotImplementedError.new end |
#subscribed?(list_id, user_id) ⇒ Boolean
Public: ‘user_id` is subscribed? to `list_id` iff it’s unsubscribed.
Returns boolean.
13 14 15 |
# File 'lib/opt_out/adapters/abstract_adapter.rb', line 13 def subscribed?(list_id, user_id) !unsubscribed?(list_id, user_id) end |
#unsubscribe(list_id, user_id) ⇒ Object
Public: unsubscribe ‘user_id` from `list_id`
Returns nothing.
30 31 32 |
# File 'lib/opt_out/adapters/abstract_adapter.rb', line 30 def unsubscribe(list_id, user_id) raise NotImplementedError.new end |
#unsubscribed?(list_id, user_id) ⇒ Boolean
Public: is ‘user_id` unsubscribed from `list_id`?
Returns boolean.
37 38 39 |
# File 'lib/opt_out/adapters/abstract_adapter.rb', line 37 def unsubscribed?(list_id, user_id) raise NotImplementedError.new end |
#unsubscribers(list_id) ⇒ Object
Public: returns an array of unsubscribers for ‘list_id`
42 43 44 |
# File 'lib/opt_out/adapters/abstract_adapter.rb', line 42 def unsubscribers(list_id) raise NotImplementedError.new end |