Class: Courier::Resources::Lists::Subscriptions
- Inherits:
-
Object
- Object
- Courier::Resources::Lists::Subscriptions
- Defined in:
- lib/courier/resources/lists/subscriptions.rb
Instance Method Summary collapse
-
#add(list_id, recipients:, request_options: {}) ⇒ nil
Subscribes additional users to the list, without modifying existing subscriptions.
-
#initialize(client:) ⇒ Subscriptions
constructor
private
A new instance of Subscriptions.
-
#list(list_id, cursor: nil, request_options: {}) ⇒ Courier::Models::Lists::SubscriptionListResponse
Get the list’s subscriptions.
-
#subscribe(list_id, recipients:, request_options: {}) ⇒ nil
Subscribes the users to the list, overwriting existing subscriptions.
-
#subscribe_user(user_id, list_id:, preferences: nil, request_options: {}) ⇒ nil
Some parameter documentations has been truncated, see Models::Lists::SubscriptionSubscribeUserParams for more details.
-
#unsubscribe_user(user_id, list_id:, request_options: {}) ⇒ nil
Delete a subscription to a list by list ID and user ID.
Constructor Details
#initialize(client:) ⇒ Subscriptions
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Subscriptions.
146 147 148 |
# File 'lib/courier/resources/lists/subscriptions.rb', line 146 def initialize(client:) @client = client end |
Instance Method Details
#add(list_id, recipients:, request_options: {}) ⇒ nil
Subscribes additional users to the list, without modifying existing subscriptions. If the list does not exist, it will be automatically created.
46 47 48 49 50 51 52 53 54 55 |
# File 'lib/courier/resources/lists/subscriptions.rb', line 46 def add(list_id, params) parsed, = Courier::Lists::SubscriptionAddParams.dump_request(params) @client.request( method: :post, path: ["lists/%1$s/subscriptions", list_id], body: parsed, model: NilClass, options: ) end |
#list(list_id, cursor: nil, request_options: {}) ⇒ Courier::Models::Lists::SubscriptionListResponse
Get the list’s subscriptions.
20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/courier/resources/lists/subscriptions.rb', line 20 def list(list_id, params = {}) parsed, = Courier::Lists::SubscriptionListParams.dump_request(params) query = Courier::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: ["lists/%1$s/subscriptions", list_id], query: query, model: Courier::Models::Lists::SubscriptionListResponse, options: ) end |
#subscribe(list_id, recipients:, request_options: {}) ⇒ nil
Subscribes the users to the list, overwriting existing subscriptions. If the list does not exist, it will be automatically created.
71 72 73 74 75 76 77 78 79 80 |
# File 'lib/courier/resources/lists/subscriptions.rb', line 71 def subscribe(list_id, params) parsed, = Courier::Lists::SubscriptionSubscribeParams.dump_request(params) @client.request( method: :put, path: ["lists/%1$s/subscriptions", list_id], body: parsed, model: NilClass, options: ) end |
#subscribe_user(user_id, list_id:, preferences: nil, request_options: {}) ⇒ nil
Some parameter documentations has been truncated, see Models::Lists::SubscriptionSubscribeUserParams for more details.
Subscribe a user to an existing list (note: if the List does not exist, it will be automatically created).
101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/courier/resources/lists/subscriptions.rb', line 101 def subscribe_user(user_id, params) parsed, = Courier::Lists::SubscriptionSubscribeUserParams.dump_request(params) list_id = parsed.delete(:list_id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :put, path: ["lists/%1$s/subscriptions/%2$s", list_id, user_id], body: parsed, model: NilClass, options: ) end |
#unsubscribe_user(user_id, list_id:, request_options: {}) ⇒ nil
Delete a subscription to a list by list ID and user ID.
129 130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'lib/courier/resources/lists/subscriptions.rb', line 129 def unsubscribe_user(user_id, params) parsed, = Courier::Lists::SubscriptionUnsubscribeUserParams.dump_request(params) list_id = parsed.delete(:list_id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :delete, path: ["lists/%1$s/subscriptions/%2$s", list_id, user_id], model: NilClass, options: ) end |