mailersend-ruby 1.5.1 → 1.6.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: 7f52bbbd2d912636c141fb8806196c42020a2519b01fedcd0cae0d9daaddcc54
4
- data.tar.gz: 5b41dfa0deb782158ac72ad3a3d02686fd1bfa2332bdba3d730840d329611416
3
+ metadata.gz: 51974d7d8584e99e7d3913249f949e05e5aacbc8db3732b166a16baf7b8313dd
4
+ data.tar.gz: 7634d9b0a6a9463961e425b1c67c8a5df2668dd202c06a2eee043201be42ec38
5
5
  SHA512:
6
- metadata.gz: adf9d68a242b761630343959abd74d0ca704b6753ca184bd849aa6848a28db524edbd9cf87a4402e32d1b4c6c4860f14db148ea8f8eaefe9e620661bbb19a83e
7
- data.tar.gz: 77613e73b046b527e3bbb3d1fd32f66cf06a0aa06e2298807222856abdb6b3a816e54681285ad004517d4d947d99802d0f87446bbaf927ea2f122b15ca1857a5
6
+ metadata.gz: 2fb335aa0e07bfb4836571f956abc8d0505e1f397ca003da6792fc488a9bbfd3bd71c6578a338ceb49920bd72e4baf58b0eed70d8bca4e07c3aeb23cb216b74b
7
+ data.tar.gz: 16c0baec523c402acb12b54a9217d052e5e2104a975a781a803cfe392b737bd9b1e016ce807f3387eab243139bcade197e9b8a6b53ffe390162f8d004c96170f
@@ -8,7 +8,7 @@ jobs:
8
8
  steps:
9
9
  - uses: actions/checkout@v3
10
10
  - name: Set up Ruby
11
- uses: ruby/setup-ruby@v1.148.0
11
+ uses: ruby/setup-ruby@v1
12
12
  with:
13
13
  ruby-version: 3.0
14
14
  bundler-cache: true
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  ## [Released]
2
2
 
3
+ ## [1.6.0] - 2023-06-22
4
+
5
+ - Sender identities by email
6
+
7
+ ## [1.5.2] - 2023-06-20
8
+
9
+ - Removed uninitialized variable
10
+
3
11
  ## [1.5.1] - 2023-05-09
4
12
 
5
13
  - Added supports for base64 attachment
data/Gemfile CHANGED
@@ -2,3 +2,9 @@
2
2
 
3
3
  source 'https://rubygems.org'
4
4
  gemspec
5
+
6
+ group :development do
7
+ gem 'bundler', '~> 2.4.10'
8
+ gem 'rake', '~> 13.0.6'
9
+ gem 'rubocop', '~> 1.52.1'
10
+ end
data/README.md CHANGED
@@ -37,6 +37,7 @@ MailerSend Ruby SDK
37
37
  - [Domains](#domains)
38
38
  - [Get a list of domains](#get-a-list-of-domains)
39
39
  - [Get a single domain](#get-a-single-domain)
40
+ - [Add a domain](#add-a-domain)
40
41
  - [Delete a domain](#delete-a-domain)
41
42
  - [Get recipients for a domain](#get-recipients-for-a-domain)
42
43
  - [Update domain settings](#update-domain-settings)
@@ -45,9 +46,12 @@ MailerSend Ruby SDK
45
46
  - [Sender Identities](#sender-identities)
46
47
  - [Get a list of sender identities](#get-a-list-of-sender-identities)
47
48
  - [Get a single sender identity](#get-a-single-sender-identity)
49
+ - [Get a single sender identity by email](#get-a-single-sender-identity-by-email)
48
50
  - [Add a sender identity](#add-a-sender-identity)
49
51
  - [Update a sender identity](#update-a-sender-identity)
52
+ - [Update a sender identity by email](#update-a-sender-identity-by-email)
50
53
  - [Delete a sender identity](#delete-a-sender-identity)
54
+ - [Delete a sender identity by email](#delete-a-sender-identity-by-email)
51
55
  - [Messages](#messages)
52
56
  - [Get a list of messages](#get-a-list-of-messages)
53
57
  - [Get info for a single message](#get-info-for-a-single-message)
@@ -465,6 +469,15 @@ ms_domains = Mailersend::Domains.new
465
469
  ms_domains.single(domain_id: "idofdomain12412")
466
470
  ```
467
471
 
472
+ ### Add a domain
473
+
474
+ ```ruby
475
+ require "mailersend-ruby"
476
+
477
+ ms_domains = Mailersend::Domains.new
478
+ ms_domains.add(name: 'yourdomain')
479
+ ```
480
+
468
481
  ### Delete a domain
469
482
 
470
483
  ```ruby
@@ -530,6 +543,15 @@ ms_sender_identity = Mailersend::SenderIdentity.new
530
543
  ms_sender_identity.single(identity_id: 'idofidentity123')
531
544
  ```
532
545
 
546
+ ### Get a single sender identity by email
547
+
548
+ ```ruby
549
+ require "mailersend-ruby"
550
+
551
+ ms_sender_identity = Mailersend::SenderIdentity.new
552
+ ms_sender_identity.single_by_email(email: 'example@email.com')
553
+ ```
554
+
533
555
  ### Add a sender identity
534
556
 
535
557
  ```ruby
@@ -548,6 +570,15 @@ ms_sender_identity = Mailersend::SenderIdentity.new
548
570
  ms_sender_identity.update(identity_id: 'idofidentity123', reply_to_email: 'replyemail', reply_to_name: 'replyname')
549
571
  ```
550
572
 
573
+ ### Update a sender identity by email
574
+
575
+ ```ruby
576
+ require "mailersend-ruby"
577
+
578
+ ms_sender_identity = Mailersend::SenderIdentity.new
579
+ ms_sender_identity.update_by_email(email: 'example@email.com', reply_to_email: 'replyemail', reply_to_name: 'replyname')
580
+ ```
581
+
551
582
  ### Delete a sender identity
552
583
 
553
584
  ```ruby
@@ -557,6 +588,15 @@ ms_sender_identity = Mailersend::SenderIdentity.new
557
588
  ms_sender_identity.delete(identity_id: 'idofidentity123')
558
589
  ```
559
590
 
591
+ ### Delete a sender identity by email
592
+
593
+ ```ruby
594
+ require "mailersend-ruby"
595
+
596
+ ms_sender_identity = Mailersend::SenderIdentity.new
597
+ ms_sender_identity.delete_by_email(email: 'example@email.com')
598
+ ```
599
+
560
600
  ## Messages
561
601
 
562
602
  ### Get a list of messages
@@ -7,6 +7,7 @@ module Mailersend
7
7
  :domain_id,
8
8
  :page,
9
9
  :limit,
10
+ :name,
10
11
  :verified
11
12
 
12
13
  def initialize(client = Mailersend::Client.new)
@@ -14,6 +15,7 @@ module Mailersend
14
15
  @domain_id = domain_id
15
16
  @page = page
16
17
  @limit = limit
18
+ @name = name
17
19
  @verified = verified
18
20
  end
19
21
 
@@ -37,6 +39,16 @@ module Mailersend
37
39
  query: URI.encode_www_form(hash.compact)))
38
40
  end
39
41
 
42
+ def add(name: nil, return_path_subdomain: nil, custom_tracking_subdomain: nil, inbound_routing_subdomain: nil)
43
+ hash = {
44
+ 'name' => name,
45
+ 'return_path_subdomain' => return_path_subdomain,
46
+ 'custom_tracking_subdomain' => custom_tracking_subdomain,
47
+ 'inbound_routing_subdomain' => inbound_routing_subdomain
48
+ }
49
+ client.http.post("#{API_URL}/domains", json: hash.compact)
50
+ end
51
+
40
52
  def delete(domain_id:)
41
53
  client.http.delete(URI::HTTPS.build(host: API_BASE_HOST, path: "/v1/domains/#{domain_id}"))
42
54
  end
@@ -50,7 +62,7 @@ module Mailersend
50
62
  query: URI.encode_www_form(hash.compact)))
51
63
  end
52
64
 
53
- def settings(domain_id:, send_paused: nil, track_clicks: nil, track_opens: nil, track_unsubscribe: nil, track_unsubscribe_html: nil, track_unsubscribe_plain: nil, track_content: nil, custom_tracking_enabled: nil, custom_tracking_subdomain: nil)
65
+ def settings(domain_id:, send_paused: nil, track_clicks: nil, track_opens: nil, track_unsubscribe: nil, track_unsubscribe_html: nil, track_unsubscribe_plain: nil, track_content: nil, custom_tracking_enabled: nil, custom_tracking_subdomain: nil, precedence_bulk: nil)
54
66
  hash = {
55
67
  'send_paused' => send_paused,
56
68
  'track_clicks' => track_clicks,
@@ -60,7 +72,8 @@ module Mailersend
60
72
  'track_unsubscribe_plain' => track_unsubscribe_plain,
61
73
  'track_content' => track_content,
62
74
  'custom_tracking_enabled' => custom_tracking_enabled,
63
- 'custom_tracking_subdomain' => custom_tracking_subdomain
75
+ 'custom_tracking_subdomain' => custom_tracking_subdomain,
76
+ 'precedence_bulk' => precedence_bulk
64
77
  }
65
78
  client.http.put("#{API_URL}/domains/#{domain_id}/settings", json: hash.compact)
66
79
  end
@@ -6,6 +6,7 @@ module Mailersend
6
6
  attr_accessor :client,
7
7
  :domain_id,
8
8
  :identity_id,
9
+ :email,
9
10
  :page,
10
11
  :limit
11
12
 
@@ -13,6 +14,7 @@ module Mailersend
13
14
  @client = client
14
15
  @domain_id = domain_id
15
16
  @identity_id = identity_id
17
+ @email = email
16
18
  @page = page
17
19
  @limit = limit
18
20
  end
@@ -25,7 +27,6 @@ module Mailersend
25
27
  }
26
28
  client.http.get(URI::HTTPS.build(host: API_BASE_HOST, path: '/v1/identities',
27
29
  query: URI.encode_www_form(hash.compact)))
28
- puts response
29
30
  end
30
31
 
31
32
  def single(identity_id:)
@@ -36,6 +37,14 @@ module Mailersend
36
37
  query: URI.encode_www_form(hash.compact)))
37
38
  end
38
39
 
40
+ def single_by_email(email:)
41
+ hash = {
42
+ 'email' => email
43
+ }
44
+ client.http.get(URI::HTTPS.build(host: API_BASE_HOST, path: "/v1/identities/email/#{email}",
45
+ query: URI.encode_www_form(hash.compact)))
46
+ end
47
+
39
48
  def add(domain_id: nil, name: nil, email: nil, reply_to_email: nil, reply_to_name: nil, add_note: nil, personal_note: nil)
40
49
  hash = {
41
50
  'domain_id' => domain_id,
@@ -62,8 +71,25 @@ module Mailersend
62
71
  client.http.put("#{API_URL}/identities/#{identity_id}", json: hash.compact)
63
72
  end
64
73
 
74
+ def update_by_email(email:, domain_id: nil, name: nil, reply_to_email: nil, reply_to_name: nil, add_note: nil, personal_note: nil)
75
+ hash = {
76
+ 'domain_id' => domain_id,
77
+ 'name' => name,
78
+ 'email' => email,
79
+ 'reply_to_email' => reply_to_email,
80
+ 'reply_to_name' => reply_to_name,
81
+ 'add_note' => add_note,
82
+ 'personal_note' => personal_note
83
+ }
84
+ client.http.put("#{API_URL}/identities/email/#{email}", json: hash.compact)
85
+ end
86
+
65
87
  def delete(identity_id:)
66
88
  client.http.delete(URI::HTTPS.build(host: API_BASE_HOST, path: "/v1/identities/#{identity_id}"))
67
89
  end
90
+
91
+ def delete_by_email(email:)
92
+ client.http.delete(URI::HTTPS.build(host: API_BASE_HOST, path: "/v1/identities/email/#{email}"))
93
+ end
68
94
  end
69
95
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Mailersend
4
- VERSION = '1.5.1'
4
+ VERSION = '1.6.0'
5
5
  end
@@ -27,9 +27,6 @@ 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.4.1'
31
- spec.add_development_dependency 'rake', '~> 13.0'
32
- spec.add_development_dependency 'rubocop', '~> 1.7'
33
30
  spec.add_dependency 'dotenv', '~> 2.7'
34
31
  spec.add_dependency 'http', '~> 5.0'
35
32
  spec.add_dependency 'json', '~> 2.5'
metadata CHANGED
@@ -1,57 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mailersend-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.1
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nikola Milojević
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-09 00:00:00.000000000 Z
11
+ date: 2023-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: 2.4.1
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: 2.4.1
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '13.0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '13.0'
41
- - !ruby/object:Gem::Dependency
42
- name: rubocop
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '1.7'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '1.7'
55
13
  - !ruby/object:Gem::Dependency
56
14
  name: dotenv
57
15
  requirement: !ruby/object:Gem::Requirement
@@ -169,7 +127,7 @@ metadata:
169
127
  source_code_uri: https://github.com/mailersend/mailersend-ruby
170
128
  changelog_uri: https://github.com/mailersend/mailersend-ruby/blob/main/CHANGELOG.md
171
129
  rubygems_mfa_required: 'true'
172
- post_install_message:
130
+ post_install_message:
173
131
  rdoc_options: []
174
132
  require_paths:
175
133
  - lib
@@ -185,7 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
143
  version: '0'
186
144
  requirements: []
187
145
  rubygems_version: 3.4.10
188
- signing_key:
146
+ signing_key:
189
147
  specification_version: 4
190
148
  summary: MailerSend's official Ruby SDK
191
149
  test_files: []