Module: Mailblastr::Topics
- Defined in:
- lib/mailblastr/topics.rb
Overview
Topics (granular subscriptions) are DOMAIN-FIRST: domain is required on
create and list. Topic names are reusable across domains.
Class Method Summary collapse
-
.create(params) ⇒ Object
POST /topics Mailblastr::Topics.create({ domain: "yourdomain.com", name: "Product updates", default_subscription: "opt_in" }).
-
.delete(topic_id) ⇒ Object
DELETE /topics/:id.
-
.get(topic_id) ⇒ Object
GET /topics/:id.
-
.list(params) ⇒ Object
List a domain's topics (
domainrequired). -
.update(topic_id, params) ⇒ Object
PATCH /topics/:id.
Class Method Details
.create(params) ⇒ Object
POST /topics Mailblastr::Topics.create({ domain: "yourdomain.com", name: "Product updates", default_subscription: "opt_in" })
11 12 13 14 |
# File 'lib/mailblastr/topics.rb', line 11 def create(params) Client.require_domain!(params, "Topics.create") Client.request(:post, "/topics", body: params) end |
.delete(topic_id) ⇒ Object
DELETE /topics/:id
33 34 35 |
# File 'lib/mailblastr/topics.rb', line 33 def delete(topic_id) Client.request(:delete, "/topics/#{Client.path_escape(topic_id)}") end |
.get(topic_id) ⇒ Object
GET /topics/:id
17 18 19 |
# File 'lib/mailblastr/topics.rb', line 17 def get(topic_id) Client.request(:get, "/topics/#{Client.path_escape(topic_id)}") end |
.list(params) ⇒ Object
List a domain's topics (domain required). GET /topics?domain=
22 23 24 25 |
# File 'lib/mailblastr/topics.rb', line 22 def list(params) domain = Client.require_domain!(params, "Topics.list") Client.request(:get, "/topics", query: { domain: domain }.merge(Client.pagination(params))) end |
.update(topic_id, params) ⇒ Object
PATCH /topics/:id
28 29 30 |
# File 'lib/mailblastr/topics.rb', line 28 def update(topic_id, params) Client.request(:patch, "/topics/#{Client.path_escape(topic_id)}", body: params) end |