mailersend-ruby 1.3.2 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
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