sendgrid-ruby
Advanced tools
+7
-0
| # Change Log | ||
| All notable changes to this project will be documented in this file. | ||
| [2021-01-27] Version 6.3.9 | ||
| -------------------------- | ||
| **Library - Fix** | ||
| - [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)! | ||
| - [PR #457](https://github.com/sendgrid/sendgrid-ruby/pull/457): email is required. Thanks to [@luk4s](https://github.com/luk4s)! | ||
| [2020-12-16] Version 6.3.8 | ||
@@ -5,0 +12,0 @@ -------------------------- |
@@ -7,3 +7,5 @@ require 'json' | ||
| def initialize(email: nil, name: nil) | ||
| # @param [String] email required e-mail address | ||
| # @param [String] name optionally personification | ||
| def initialize(email:, name: nil) | ||
| if name | ||
@@ -19,2 +21,4 @@ @email = email | ||
| split = /(?:(?<address>.+)\s)?<?(?<email>.+@[^>]+)>?/.match(email) | ||
| raise ArgumentError, "email (#{email}) is invalid" unless split | ||
| [split[:email], split[:address]] | ||
@@ -21,0 +25,0 @@ end |
@@ -79,3 +79,3 @@ require 'json' | ||
| [@tos, @ccs, @bccs].flatten.each do |elm| | ||
| return true if elm&.dig('email') == additional_email | ||
| return true if elm&.dig('email')&.downcase == additional_email | ||
| end | ||
@@ -82,0 +82,0 @@ |
| module SendGrid | ||
| VERSION = '6.3.8'.freeze | ||
| VERSION = '6.3.9'.freeze | ||
| end |
+1
-1
| MIT License | ||
| Copyright (C) 2020, Twilio SendGrid, Inc. <help@twilio.com> | ||
| Copyright (C) 2021, Twilio SendGrid, Inc. <help@twilio.com> | ||
@@ -5,0 +5,0 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of |
@@ -32,2 +32,11 @@ require_relative '../../../../lib/sendgrid/helpers/mail/email' | ||
| end | ||
| def test_mandatory_email_missing | ||
| assert_raises(ArgumentError) { Email.new(email: nil) } | ||
| assert_raises(ArgumentError) { Email.new(email: "") } | ||
| end | ||
| def test_invalid_email | ||
| assert_raises(ArgumentError) { Email.new(email: "some-invalid-string") } | ||
| end | ||
| end |
@@ -29,2 +29,3 @@ require_relative '../../../../lib/sendgrid/helpers/mail/personalization' | ||
| @personalization.add_to(Email.new(email: 'test1@example.com', name: 'Example User')) | ||
| @personalization.add_to(Email.new(email: 'TEST2@EXAMPLE.COM', name: 'Example User 2')) | ||
@@ -38,2 +39,10 @@ assert_raises(DuplicatePersonalizationError) do | ||
| end | ||
| assert_raises(DuplicatePersonalizationError) do | ||
| @personalization.add_to(Email.new(email: 'test2@example.com', name: 'Duplicate User 2')) | ||
| end | ||
| assert_raises(DuplicatePersonalizationError) do | ||
| @personalization.add_to(Email.new(email: 'TEST2@EXAMPLE.COM', name: 'Duplicate User 2')) | ||
| end | ||
| end | ||
@@ -63,2 +72,3 @@ | ||
| @personalization.add_cc(Email.new(email: 'test1@example.com', name: 'Example User')) | ||
| @personalization.add_cc(Email.new(email: 'TEST2@EXAMPLE.COM', name: 'Example User 2')) | ||
@@ -72,2 +82,10 @@ assert_raises(DuplicatePersonalizationError) do | ||
| end | ||
| assert_raises(DuplicatePersonalizationError) do | ||
| @personalization.add_cc(Email.new(email: 'test2@example.com', name: 'Duplicate User 2')) | ||
| end | ||
| assert_raises(DuplicatePersonalizationError) do | ||
| @personalization.add_cc(Email.new(email: 'TEST2@EXAMPLE.COM', name: 'Duplicate User 2')) | ||
| end | ||
| end | ||
@@ -97,2 +115,3 @@ | ||
| @personalization.add_bcc(Email.new(email: 'test1@example.com', name: 'Example User')) | ||
| @personalization.add_bcc(Email.new(email: 'TEST2@EXAMPLE.COM', name: 'Example User 2')) | ||
@@ -106,2 +125,10 @@ assert_raises(DuplicatePersonalizationError) do | ||
| end | ||
| assert_raises(DuplicatePersonalizationError) do | ||
| @personalization.add_bcc(Email.new(email: 'test2@example.com', name: 'Duplicate User 2')) | ||
| end | ||
| assert_raises(DuplicatePersonalizationError) do | ||
| @personalization.add_bcc(Email.new(email: 'TEST2@EXAMPLE.COM', name: 'Duplicate User 2')) | ||
| end | ||
| end | ||
@@ -108,0 +135,0 @@ |
Sorry, the diff of this file is too big to display