mailersend-ruby 1.3.2 → 1.5.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c1fbf1a6547aaabba0b217c571b89b104abb308b89fe7d724cd3012d97fd82c3
4
- data.tar.gz: c9c28ef41fc5421c7ff83aac95ae4a9463922e85efc2302457c91307ba427d35
3
+ metadata.gz: 119a856edc8f4a572776df083628ac9e91b03ad7d84c010d000f659dea7c5d02
4
+ data.tar.gz: e8c4db7ef5ee7753acdeef7fb2e6696c215b614dc0c84c4c78b1e8dbeeb4b069
5
5
  SHA512:
6
- metadata.gz: a54404f2272a93c30d049a54fd6179cce1e8057c90274a8001680ca73d703835fbd14f5fdacc8fb991ea3013d6ddd55fc5ae308838404914065f38d11feb1f65
7
- data.tar.gz: 0c4b04107b5cfd6952d80f07732e86e779c94e1dfc615956f9458bc55601c4fde1cd44c537799d7adf2e94e73f61c3b70a7b7f6b57cc8537d18642f5617e0b41
6
+ metadata.gz: ce60ac31b7af6e94b5b1ea51b9d7f4e0fa16b56bc870576b4ed49df45f93f032e6bcf68870d591ee84518dc248918086c5723e9bcf23b9b039d69276ebf6cbd5
7
+ data.tar.gz: da94cb3b0fa6c9e92037401bb0d0adf6e70a84d9a066266bdcdef0bc038d9c01eb8db42280fac757853bb9e50d55942cc23c159dab358d6c5df1acb5db29f906
@@ -8,9 +8,9 @@ jobs:
8
8
  steps:
9
9
  - uses: actions/checkout@v3
10
10
  - name: Set up Ruby
11
- uses: ruby/setup-ruby@v1
11
+ uses: ruby/setup-ruby@v1.148.0
12
12
  with:
13
- ruby-version: 3.0.1
13
+ ruby-version: 3.0
14
14
  bundler-cache: true
15
15
  - name: Run the default task
16
16
  run: bundle exec rake
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  ## [Released]
2
2
 
3
+ ## [1.5.0] - 2023-05-08
4
+
5
+ - API Quota
6
+ - Single eMail Verification
7
+
8
+ ## [1.4.0] - 2023-01-17
9
+
10
+ - Sender Identities
11
+
3
12
  ## [1.3.2] - 2022-11-22
4
13
 
5
14
  - Fixes add_tags method in MailerSend::Email class
data/README.md CHANGED
@@ -42,6 +42,12 @@ MailerSend Ruby SDK
42
42
  - [Update domain settings](#update-domain-settings)
43
43
  - [Get DNS Records](#get-dns-records)
44
44
  - [Get verification status](#get-verification-status)
45
+ - [Sender Identities](#sender-identities)
46
+ - [Get a list of sender identities](#get-a-list-of-sender-identities)
47
+ - [Get a single sender identity](#get-a-single-sender-identity)
48
+ - [Add a sender identity](#add-a-sender-identity)
49
+ - [Update a sender identity](#update-a-sender-identity)
50
+ - [Delete a sender identity](#delete-a-sender-identity)
45
51
  - [Messages](#messages)
46
52
  - [Get a list of messages](#get-a-list-of-messages)
47
53
  - [Get info for a single message](#get-info-for-a-single-message)
@@ -68,6 +74,7 @@ MailerSend Ruby SDK
68
74
  - [Get a single template](#get-a-single-template)
69
75
  - [Delete template](#delete-template)
70
76
  - [Email Verification](#email-verification)
77
+ - [Verify an email](#verify-an-email)
71
78
  - [Get all email verification lists](#get-all-email-verification-lists)
72
79
  - [Get an email verification list](#get-an-email-verification-list)
73
80
  - [Create an email verification list](#create-an-email-verification-list)
@@ -100,6 +107,8 @@ MailerSend Ruby SDK
100
107
  - [Create an SMS webhook](#create-an-sms-webhook)
101
108
  - [Update an SMS webhook](#update-an-sms-webhook)
102
109
  - [Delete an SMS webhook](#delete-an-sms-webhook)
110
+ - [Other endpoints](#other-endpoints)
111
+ - [Get API quota](#get-api-quota)
103
112
  - [Support and Feedback](#support-and-feedback)
104
113
  - [License](#license)
105
114
 
@@ -501,6 +510,53 @@ ms_domains = Mailersend::Domains.new
501
510
  ms_domains.verify(domain_id: "idofdomain12412")
502
511
  ```
503
512
 
513
+ ## Sender Identities
514
+
515
+ ### Get a list of sender identities
516
+
517
+ ```ruby
518
+ require "mailersend-ruby"
519
+
520
+ ms_sender_identity = Mailersend::SenderIdentity.new
521
+ ms_sender_identity.list
522
+ ```
523
+
524
+ ### Get a single sender identity
525
+
526
+ ```ruby
527
+ require "mailersend-ruby"
528
+
529
+ ms_sender_identity = Mailersend::SenderIdentity.new
530
+ ms_sender_identity.single(identity_id: 'idofidentity123')
531
+ ```
532
+
533
+ ### Add a sender identity
534
+
535
+ ```ruby
536
+ require "mailersend-ruby"
537
+
538
+ ms_sender_identity = Mailersend::SenderIdentity.new
539
+ ms_sender_identity.add(domain_id: 'idofdomain12412', name: 'yourname', email: 'youremail')
540
+ ```
541
+
542
+ ### Update a sender identity
543
+
544
+ ```ruby
545
+ require "mailersend-ruby"
546
+
547
+ ms_sender_identity = Mailersend::SenderIdentity.new
548
+ ms_sender_identity.update(identity_id: 'idofidentity123', reply_to_email: 'replyemail', reply_to_name: 'replyname')
549
+ ```
550
+
551
+ ### Delete a sender identity
552
+
553
+ ```ruby
554
+ require "mailersend-ruby"
555
+
556
+ ms_sender_identity = Mailersend::SenderIdentity.new
557
+ ms_sender_identity.delete(identity_id: 'idofidentity123')
558
+ ```
559
+
504
560
  ## Messages
505
561
 
506
562
  ### Get a list of messages
@@ -717,6 +773,15 @@ ms_templates.delete(template_id: "id124")
717
773
 
718
774
  ## Email Verification
719
775
 
776
+ ### Verify an email
777
+
778
+ ```ruby
779
+ require "mailersend-ruby"
780
+
781
+ ms_email_verification = Mailersend::EmailVerification.new
782
+ ms_email_verification.verify_an_email(email: 'example@email.com')
783
+ ```
784
+
720
785
  ### Get all email verification lists
721
786
 
722
787
  ```ruby
@@ -1067,6 +1132,20 @@ ms_sms_webhooks = Mailersend::SMSWebhooks.new
1067
1132
  ms_sms_webhooks.delete_sms_webhook_route(sms_webhook_id: 'your-sms-webhook-id')
1068
1133
  ```
1069
1134
 
1135
+ ## Other endpoints
1136
+
1137
+ ### Get API quota
1138
+
1139
+ ```ruby
1140
+ require "mailersend-ruby"
1141
+
1142
+ # Intialize the API Quota class
1143
+ ms_api_quota = Mailersend::APIQuota.new
1144
+
1145
+ # Add parameters
1146
+ ms_api_quota.get_api_quota
1147
+ ```
1148
+
1070
1149
  # Support and Feedback
1071
1150
 
1072
1151
  In case you find any bugs, submit an issue directly here in GitHub.
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mailersend
4
+ # API Quota endpoint from MailerSend API
5
+ class APIQuota
6
+ attr_accessor :client
7
+
8
+ def initialize(client = Mailersend::Client.new)
9
+ @client = client
10
+ end
11
+
12
+ def get_api_quota(*)
13
+ client.http.get("#{API_URL}/api-quota")
14
+ end
15
+ end
16
+ end
@@ -15,6 +15,13 @@ module Mailersend
15
15
  @email_verification_id = email_verification_id
16
16
  end
17
17
 
18
+ def verify_an_email(email: nil)
19
+ hash = {
20
+ 'email' => email
21
+ }
22
+ client.http.post("#{API_URL}/email-verification/verify", json: hash.compact)
23
+ end
24
+
18
25
  def list(page: nil, limit: nil)
19
26
  hash = {
20
27
  'page' => page,
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mailersend
4
+ # SenderIdentity endpoint from MailerSend API
5
+ class SenderIdentity
6
+ attr_accessor :client,
7
+ :domain_id,
8
+ :identity_id,
9
+ :page,
10
+ :limit
11
+
12
+ def initialize(client = Mailersend::Client.new)
13
+ @client = client
14
+ @domain_id = domain_id
15
+ @identity_id = identity_id
16
+ @page = page
17
+ @limit = limit
18
+ end
19
+
20
+ def list(domain_id: nil, page: nil, limit: nil)
21
+ hash = {
22
+ 'domain_id' => domain_id,
23
+ 'page' => page,
24
+ 'limit' => limit
25
+ }
26
+ client.http.get(URI::HTTPS.build(host: API_BASE_HOST, path: '/v1/identities',
27
+ query: URI.encode_www_form(hash.compact)))
28
+ puts response
29
+ end
30
+
31
+ def single(identity_id:)
32
+ hash = {
33
+ 'identity_id' => identity_id
34
+ }
35
+ client.http.get(URI::HTTPS.build(host: API_BASE_HOST, path: "/v1/identities/#{identity_id}",
36
+ query: URI.encode_www_form(hash.compact)))
37
+ end
38
+
39
+ def add(domain_id: nil, name: nil, email: nil, reply_to_email: nil, reply_to_name: nil, add_note: nil, personal_note: nil)
40
+ hash = {
41
+ 'domain_id' => domain_id,
42
+ 'name' => name,
43
+ 'email' => email,
44
+ 'reply_to_email' => reply_to_email,
45
+ 'reply_to_name' => reply_to_name,
46
+ 'add_note' => add_note,
47
+ 'personal_note' => personal_note
48
+ }
49
+ client.http.post("#{API_URL}/identities", json: hash.compact)
50
+ end
51
+
52
+ def update(identity_id:, domain_id: nil, name: nil, email: nil, reply_to_email: nil, reply_to_name: nil, add_note: nil, personal_note: nil)
53
+ hash = {
54
+ 'domain_id' => domain_id,
55
+ 'name' => name,
56
+ 'email' => email,
57
+ 'reply_to_email' => reply_to_email,
58
+ 'reply_to_name' => reply_to_name,
59
+ 'add_note' => add_note,
60
+ 'personal_note' => personal_note
61
+ }
62
+ client.http.put("#{API_URL}/identities/#{identity_id}", json: hash.compact)
63
+ end
64
+
65
+ def delete(identity_id:)
66
+ client.http.delete(URI::HTTPS.build(host: API_BASE_HOST, path: "/v1/identities/#{identity_id}"))
67
+ end
68
+ end
69
+ end
@@ -22,7 +22,7 @@ module Mailersend
22
22
  }
23
23
 
24
24
  client.http.get(URI::HTTPS.build(host: API_BASE_HOST, path: '/v1/sms-messages',
25
- query: URI.encode_www_form(hash)))
25
+ query: URI.encode_www_form(hash)))
26
26
  end
27
27
 
28
28
  def get(sms_message_id:)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Mailersend
4
- VERSION = '1.3.2'
4
+ VERSION = '1.5.0'
5
5
  end
data/lib/mailersend.rb CHANGED
@@ -3,6 +3,7 @@
3
3
  require_relative 'mailersend/client'
4
4
  require_relative 'mailersend/version'
5
5
  require_relative 'mailersend/activity/activity'
6
+ require_relative 'mailersend/api_quota/api_quota'
6
7
  require_relative 'mailersend/analytics/analytics'
7
8
  require_relative 'mailersend/bulk_email/bulk_email'
8
9
  require_relative 'mailersend/domains/domains'
@@ -12,6 +13,7 @@ require_relative 'mailersend/inbound_routing/inbound_routing'
12
13
  require_relative 'mailersend/messages/messages'
13
14
  require_relative 'mailersend/recipients/recipients'
14
15
  require_relative 'mailersend/scheduled_messages/scheduled_messages'
16
+ require_relative 'mailersend/sender_identity/sender_identity'
15
17
  require_relative 'mailersend/sms/sms'
16
18
  require_relative 'mailersend/sms_activity/sms_activity'
17
19
  require_relative 'mailersend/sms_messages/sms_messages'
@@ -27,11 +27,11 @@ Gem::Specification.new do |spec|
27
27
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
28
28
  spec.require_paths = ['lib']
29
29
 
30
- spec.add_development_dependency 'bundler', '~> 2.3.4'
30
+ spec.add_development_dependency 'bundler', '~> 2.4.1'
31
31
  spec.add_development_dependency 'rake', '~> 13.0'
32
32
  spec.add_development_dependency 'rubocop', '~> 1.7'
33
33
  spec.add_dependency 'dotenv', '~> 2.7'
34
34
  spec.add_dependency 'http', '~> 5.0'
35
35
  spec.add_dependency 'json', '~> 2.5'
36
- spec.add_dependency 'uri', '~> 0.10.1'
36
+ spec.add_dependency 'uri', '~> 0.12.0'
37
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mailersend-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nikola Milojević
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-22 00:00:00.000000000 Z
11
+ date: 2023-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.3.4
19
+ version: 2.4.1
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.3.4
26
+ version: 2.4.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.10.1
103
+ version: 0.12.0
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 0.10.1
110
+ version: 0.12.0
111
111
  description: MailerSend's official Ruby SDK. Interacts with all endpoints at MailerSend
112
112
  API.
113
113
  email:
@@ -135,6 +135,7 @@ files:
135
135
  - lib/mailersend.rb
136
136
  - lib/mailersend/activity/activity.rb
137
137
  - lib/mailersend/analytics/analytics.rb
138
+ - lib/mailersend/api_quota/api_quota.rb
138
139
  - lib/mailersend/bulk_email/bulk_email.rb
139
140
  - lib/mailersend/client.rb
140
141
  - lib/mailersend/domains/domains.rb
@@ -144,6 +145,7 @@ files:
144
145
  - lib/mailersend/messages/messages.rb
145
146
  - lib/mailersend/recipients/recipients.rb
146
147
  - lib/mailersend/scheduled_messages/scheduled_messages.rb
148
+ - lib/mailersend/sender_identity/sender_identity.rb
147
149
  - lib/mailersend/sms/sms.rb
148
150
  - lib/mailersend/sms_activity/sms_activity.rb
149
151
  - lib/mailersend/sms_inbounds/sms_inbounds.rb
@@ -182,7 +184,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
184
  - !ruby/object:Gem::Version
183
185
  version: '0'
184
186
  requirements: []
185
- rubygems_version: 3.3.7
187
+ rubygems_version: 3.4.10
186
188
  signing_key:
187
189
  specification_version: 4
188
190
  summary: MailerSend's official Ruby SDK