Class: Courrier::Subscriber::Beehiiv
- Inherits:
-
Base
- Object
- Base
- Courrier::Subscriber::Beehiiv
show all
- Defined in:
- lib/courrier/subscriber/beehiiv.rb
Constant Summary
collapse
- ENDPOINT_URL =
"https://api.beehiiv.com/v2/publications"
Instance Method Summary
collapse
Methods inherited from Base
#initialize
Instance Method Details
#create(email) ⇒ Object
10
11
12
13
14
15
|
# File 'lib/courrier/subscriber/beehiiv.rb', line 10
def create(email)
publication_id = Courrier.configuration.subscriber[:publication_id]
raise Courrier::ConfigurationError, "Beehiiv requires `publication_id` in subscriber configuration" unless publication_id
request(:post, "#{ENDPOINT_URL}/#{publication_id}/subscriptions", {"email" => email})
end
|
#destroy(email) ⇒ Object
17
18
19
20
21
22
23
24
25
|
# File 'lib/courrier/subscriber/beehiiv.rb', line 17
def destroy(email)
publication_id = Courrier.configuration.subscriber[:publication_id]
raise Courrier::ConfigurationError, "Beehiiv requires `publication_id` in subscriber configuration" unless publication_id
subscription_id = subscription_id(publication_id, email)
return Courrier::Subscriber::Result.new(error: StandardError.new("Subscription not found")) unless subscription_id
request(:delete, "#{ENDPOINT_URL}/#{publication_id}/subscriptions/#{subscription_id}")
end
|