sendgrid-ruby 6.3.8 → 6.3.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/LICENSE +1 -1
- data/lib/sendgrid/helpers/mail/email.rb +5 -1
- data/lib/sendgrid/helpers/mail/personalization.rb +1 -1
- data/lib/sendgrid/version.rb +1 -1
- data/test/sendgrid/helpers/mail/test_email.rb +9 -0
- data/test/sendgrid/helpers/mail/test_personalizations.rb +27 -0
- data/test/sendgrid/test_sendgrid-ruby.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bf21bd306727e384a838c428f07f5866f9108ab03f41160b8dfe429d3116537b
|
4
|
+
data.tar.gz: b73d7dfbb09c9d817096762a882e85e1eeb77bd2abd3397d45923fcf4f81b4cc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 52f3285d9ff1f54c4fd46372118de4847fb7508e8c28720362d66aebde5f67decb780a51a9fdaa295d4a67c38bae70ae484ab17ec53e80b38aa8a614de7a0083
|
7
|
+
data.tar.gz: 21b3545263c927498194e31f628d91ded1d6ba39da5e81865a3368729a804338be697f6cb9ca9c89ddeb0dcebca7635b4c8a1a7c99516cf3b8c4425c2bca8688
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
# Change Log
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
|
4
|
+
[2021-01-27] Version 6.3.9
|
5
|
+
--------------------------
|
6
|
+
**Library - Fix**
|
7
|
+
- [PR #446](https://github.com/sendgrid/sendgrid-ruby/pull/446): Accurate duplicate checking when adding email to Personalizations. Thanks to [@mito5525](https://github.com/mito5525)!
|
8
|
+
- [PR #457](https://github.com/sendgrid/sendgrid-ruby/pull/457): email is required. Thanks to [@luk4s](https://github.com/luk4s)!
|
9
|
+
|
10
|
+
|
4
11
|
[2020-12-16] Version 6.3.8
|
5
12
|
--------------------------
|
6
13
|
**Library - Fix**
|
data/LICENSE
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
MIT License
|
2
2
|
|
3
|
-
Copyright (C)
|
3
|
+
Copyright (C) 2021, Twilio SendGrid, Inc. <help@twilio.com>
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
6
6
|
this software and associated documentation files (the "Software"), to deal in
|
@@ -4,7 +4,9 @@ module SendGrid
|
|
4
4
|
class Email
|
5
5
|
attr_accessor :email, :name
|
6
6
|
|
7
|
-
|
7
|
+
# @param [String] email required e-mail address
|
8
|
+
# @param [String] name optionally personification
|
9
|
+
def initialize(email:, name: nil)
|
8
10
|
if name
|
9
11
|
@email = email
|
10
12
|
@name = name
|
@@ -15,6 +17,8 @@ module SendGrid
|
|
15
17
|
|
16
18
|
def split_email(email)
|
17
19
|
split = /(?:(?<address>.+)\s)?<?(?<email>.+@[^>]+)>?/.match(email)
|
20
|
+
raise ArgumentError, "email (#{email}) is invalid" unless split
|
21
|
+
|
18
22
|
[split[:email], split[:address]]
|
19
23
|
end
|
20
24
|
|
data/lib/sendgrid/version.rb
CHANGED
@@ -29,4 +29,13 @@ class TestEmail < Minitest::Test
|
|
29
29
|
}
|
30
30
|
assert_equal @email.to_json, expected_json
|
31
31
|
end
|
32
|
+
|
33
|
+
def test_mandatory_email_missing
|
34
|
+
assert_raises(ArgumentError) { Email.new(email: nil) }
|
35
|
+
assert_raises(ArgumentError) { Email.new(email: "") }
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_invalid_email
|
39
|
+
assert_raises(ArgumentError) { Email.new(email: "some-invalid-string") }
|
40
|
+
end
|
32
41
|
end
|
@@ -26,6 +26,7 @@ class TestPersonalization < Minitest::Test
|
|
26
26
|
def test_duplicate_add_to
|
27
27
|
@personalization = Personalization.new
|
28
28
|
@personalization.add_to(Email.new(email: 'test1@example.com', name: 'Example User'))
|
29
|
+
@personalization.add_to(Email.new(email: 'TEST2@EXAMPLE.COM', name: 'Example User 2'))
|
29
30
|
|
30
31
|
assert_raises(DuplicatePersonalizationError) do
|
31
32
|
@personalization.add_to(Email.new(email: 'test1@example.com', name: 'Duplicate User'))
|
@@ -34,6 +35,14 @@ class TestPersonalization < Minitest::Test
|
|
34
35
|
assert_raises(DuplicatePersonalizationError) do
|
35
36
|
@personalization.add_to(Email.new(email: 'TEST1@EXAMPLE.COM', name: 'Duplicate User'))
|
36
37
|
end
|
38
|
+
|
39
|
+
assert_raises(DuplicatePersonalizationError) do
|
40
|
+
@personalization.add_to(Email.new(email: 'test2@example.com', name: 'Duplicate User 2'))
|
41
|
+
end
|
42
|
+
|
43
|
+
assert_raises(DuplicatePersonalizationError) do
|
44
|
+
@personalization.add_to(Email.new(email: 'TEST2@EXAMPLE.COM', name: 'Duplicate User 2'))
|
45
|
+
end
|
37
46
|
end
|
38
47
|
|
39
48
|
def test_add_cc
|
@@ -58,6 +67,7 @@ class TestPersonalization < Minitest::Test
|
|
58
67
|
def test_duplicate_add_cc
|
59
68
|
@personalization = Personalization.new
|
60
69
|
@personalization.add_cc(Email.new(email: 'test1@example.com', name: 'Example User'))
|
70
|
+
@personalization.add_cc(Email.new(email: 'TEST2@EXAMPLE.COM', name: 'Example User 2'))
|
61
71
|
|
62
72
|
assert_raises(DuplicatePersonalizationError) do
|
63
73
|
@personalization.add_cc(Email.new(email: 'test1@example.com', name: 'Duplicate User'))
|
@@ -66,6 +76,14 @@ class TestPersonalization < Minitest::Test
|
|
66
76
|
assert_raises(DuplicatePersonalizationError) do
|
67
77
|
@personalization.add_cc(Email.new(email: 'TEST1@EXAMPLE.COM', name: 'Duplicate User'))
|
68
78
|
end
|
79
|
+
|
80
|
+
assert_raises(DuplicatePersonalizationError) do
|
81
|
+
@personalization.add_cc(Email.new(email: 'test2@example.com', name: 'Duplicate User 2'))
|
82
|
+
end
|
83
|
+
|
84
|
+
assert_raises(DuplicatePersonalizationError) do
|
85
|
+
@personalization.add_cc(Email.new(email: 'TEST2@EXAMPLE.COM', name: 'Duplicate User 2'))
|
86
|
+
end
|
69
87
|
end
|
70
88
|
|
71
89
|
def test_add_bcc
|
@@ -90,6 +108,7 @@ class TestPersonalization < Minitest::Test
|
|
90
108
|
def test_duplicate_add_bcc
|
91
109
|
@personalization = Personalization.new
|
92
110
|
@personalization.add_bcc(Email.new(email: 'test1@example.com', name: 'Example User'))
|
111
|
+
@personalization.add_bcc(Email.new(email: 'TEST2@EXAMPLE.COM', name: 'Example User 2'))
|
93
112
|
|
94
113
|
assert_raises(DuplicatePersonalizationError) do
|
95
114
|
@personalization.add_bcc(Email.new(email: 'test1@example.com', name: 'Duplicate User'))
|
@@ -98,6 +117,14 @@ class TestPersonalization < Minitest::Test
|
|
98
117
|
assert_raises(DuplicatePersonalizationError) do
|
99
118
|
@personalization.add_bcc(Email.new(email: 'TEST1@EXAMPLE.COM', name: 'Duplicate User'))
|
100
119
|
end
|
120
|
+
|
121
|
+
assert_raises(DuplicatePersonalizationError) do
|
122
|
+
@personalization.add_bcc(Email.new(email: 'test2@example.com', name: 'Duplicate User 2'))
|
123
|
+
end
|
124
|
+
|
125
|
+
assert_raises(DuplicatePersonalizationError) do
|
126
|
+
@personalization.add_bcc(Email.new(email: 'TEST2@EXAMPLE.COM', name: 'Duplicate User 2'))
|
127
|
+
end
|
101
128
|
end
|
102
129
|
|
103
130
|
def test_add_header
|
@@ -33,7 +33,7 @@ class TestAPI < MiniTest::Test
|
|
33
33
|
assert_equal(test_headers, sg.request_headers)
|
34
34
|
assert_equal('v3', sg.version)
|
35
35
|
assert_equal(subuser, sg.impersonate_subuser)
|
36
|
-
assert_equal('6.3.
|
36
|
+
assert_equal('6.3.9', SendGrid::VERSION)
|
37
37
|
assert_instance_of(SendGrid::Client, sg.client)
|
38
38
|
end
|
39
39
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sendgrid-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.3.
|
4
|
+
version: 6.3.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elmer Thomas
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2021-01-27 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: ruby_http_client
|