resend 0.8.1 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/resend/audiences.rb +35 -0
- data/lib/resend/client.rb +2 -0
- data/lib/resend/contacts.rb +47 -0
- data/lib/resend/request.rb +1 -1
- data/lib/resend/version.rb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 35de3e6d5edf8d140f5fddb77a69d05dfefdea65dc12381cb5003803d3002f31
|
4
|
+
data.tar.gz: 9153eece684f2609927d3123090bbd114eea09f54c6a0e349c360fe0520a4d1b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 56c8c0d8f4195508bf4b2c116bc8c03d6bfbbc1d81f78dab030e781250f2bd932ccb276101ae333ce76abefa492478cb7465d194e0df39904eb5730fb87303cf
|
7
|
+
data.tar.gz: fd271dc660f9c775a1d820798450ed8a24c1bddc57fdc32ddfedef2395e7d80cfe1e72cca2dc6d6cd1d4e81a8402177451d5ec90700e0fd1aceebe3e89251fd9
|
data/README.md
CHANGED
@@ -68,7 +68,7 @@ config.action_mailer.delivery_method = :resend
|
|
68
68
|
Create or update your mailer initializer file and replace the placeholder with your Resend API Key.
|
69
69
|
|
70
70
|
```rb
|
71
|
-
# /
|
71
|
+
# /config/initializers/resend.rb
|
72
72
|
Resend.api_key = "re_123456"
|
73
73
|
```
|
74
74
|
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "resend/request"
|
4
|
+
require "resend/errors"
|
5
|
+
|
6
|
+
module Resend
|
7
|
+
# Audiences api wrapper
|
8
|
+
module Audiences
|
9
|
+
class << self
|
10
|
+
# https://resend.com/docs/api-reference/audiences/create-audience
|
11
|
+
def create(params)
|
12
|
+
path = "audiences"
|
13
|
+
Resend::Request.new(path, params, "post").perform
|
14
|
+
end
|
15
|
+
|
16
|
+
# https://resend.com/docs/api-reference/audiences/get-audience
|
17
|
+
def get(audience_id = "")
|
18
|
+
path = "audiences/#{audience_id}"
|
19
|
+
Resend::Request.new(path, {}, "get").perform
|
20
|
+
end
|
21
|
+
|
22
|
+
# https://resend.com/docs/api-reference/audiences/list-audiences
|
23
|
+
def list
|
24
|
+
path = "audiences"
|
25
|
+
Resend::Request.new(path, {}, "get").perform
|
26
|
+
end
|
27
|
+
|
28
|
+
# https://resend.com/docs/api-reference/audiences/delete-audience
|
29
|
+
def remove(audience_id = "")
|
30
|
+
path = "audiences/#{audience_id}"
|
31
|
+
Resend::Request.new(path, {}, "delete").perform
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/lib/resend/client.rb
CHANGED
@@ -0,0 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "resend/request"
|
4
|
+
require "resend/errors"
|
5
|
+
|
6
|
+
module Resend
|
7
|
+
# Contacts api wrapper
|
8
|
+
module Contacts
|
9
|
+
class << self
|
10
|
+
# https://resend.com/docs/api-reference/contacts/create-contact
|
11
|
+
def create(params)
|
12
|
+
path = "audiences/#{params[:audience_id]}/contacts"
|
13
|
+
Resend::Request.new(path, params, "post").perform
|
14
|
+
end
|
15
|
+
|
16
|
+
# https://resend.com/docs/api-reference/contacts/get-contact
|
17
|
+
def get(audience_id, id)
|
18
|
+
path = "audiences/#{audience_id}/contacts/#{id}"
|
19
|
+
Resend::Request.new(path, {}, "get").perform
|
20
|
+
end
|
21
|
+
|
22
|
+
# https://resend.com/docs/api-reference/contacts/list-contacts
|
23
|
+
def list(audience_id)
|
24
|
+
path = "audiences/#{audience_id}/contacts"
|
25
|
+
Resend::Request.new(path, {}, "get").perform
|
26
|
+
end
|
27
|
+
|
28
|
+
#
|
29
|
+
# Remove a contact from an audience
|
30
|
+
#
|
31
|
+
# @param audience_id [String] the audience id
|
32
|
+
# @param contact_id [String] either the contact id or contact email
|
33
|
+
#
|
34
|
+
# see also: https://resend.com/docs/api-reference/contacts/delete-contact
|
35
|
+
def remove(audience_id, contact_id)
|
36
|
+
path = "audiences/#{audience_id}/contacts/#{contact_id}"
|
37
|
+
Resend::Request.new(path, {}, "delete").perform
|
38
|
+
end
|
39
|
+
|
40
|
+
# https://resend.com/docs/api-reference/contacts/update-contact
|
41
|
+
def update(params)
|
42
|
+
path = "audiences/#{params[:audience_id]}/contacts/#{params[:id]}"
|
43
|
+
Resend::Request.new(path, params, "patch").perform
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
data/lib/resend/request.rb
CHANGED
@@ -8,7 +8,7 @@ module Resend
|
|
8
8
|
# This class is responsible for making the appropriate HTTP calls
|
9
9
|
# and raising the specific errors based on the response.
|
10
10
|
class Request
|
11
|
-
BASE_URL = "https://api.resend.com/"
|
11
|
+
BASE_URL = ENV["RESEND_BASE_URL"] || "https://api.resend.com/"
|
12
12
|
|
13
13
|
attr_accessor :body, :verb
|
14
14
|
|
data/lib/resend/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resend
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Derich Pacheco
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -47,8 +47,10 @@ files:
|
|
47
47
|
- README.md
|
48
48
|
- lib/resend.rb
|
49
49
|
- lib/resend/api_keys.rb
|
50
|
+
- lib/resend/audiences.rb
|
50
51
|
- lib/resend/batch.rb
|
51
52
|
- lib/resend/client.rb
|
53
|
+
- lib/resend/contacts.rb
|
52
54
|
- lib/resend/domains.rb
|
53
55
|
- lib/resend/emails.rb
|
54
56
|
- lib/resend/errors.rb
|
@@ -75,7 +77,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
75
77
|
- !ruby/object:Gem::Version
|
76
78
|
version: '0'
|
77
79
|
requirements: []
|
78
|
-
rubygems_version: 3.
|
80
|
+
rubygems_version: 3.4.10
|
79
81
|
signing_key:
|
80
82
|
specification_version: 4
|
81
83
|
summary: The Ruby and Rails SDK for resend.com
|