Class: SendGrid::Email
- Inherits:
-
Object
- Object
- SendGrid::Email
- Defined in:
- lib/sendgrid/helpers/mail/email.rb
Instance Method Summary collapse
- #email ⇒ Object
- #email=(email) ⇒ Object
-
#initialize(email: nil, name: nil) ⇒ Email
constructor
A new instance of Email.
- #name ⇒ Object
- #name=(name) ⇒ Object
- #split_email(email) ⇒ Object
- #to_json ⇒ Object
Constructor Details
#initialize(email: nil, name: nil) ⇒ Email
Returns a new instance of Email.
5 6 7 8 9 10 11 12 |
# File 'lib/sendgrid/helpers/mail/email.rb', line 5 def initialize(email: nil, name: nil) if name @email = email @name = name else @email, @name = split_email(email) end end |
Instance Method Details
#email ⇒ Object
18 19 20 |
# File 'lib/sendgrid/helpers/mail/email.rb', line 18 def email @email end |
#email=(email) ⇒ Object
14 15 16 |
# File 'lib/sendgrid/helpers/mail/email.rb', line 14 def email=(email) @email = email end |
#name ⇒ Object
26 27 28 |
# File 'lib/sendgrid/helpers/mail/email.rb', line 26 def name @name end |
#name=(name) ⇒ Object
22 23 24 |
# File 'lib/sendgrid/helpers/mail/email.rb', line 22 def name=(name) @name = name end |
#split_email(email) ⇒ Object
30 31 32 33 |
# File 'lib/sendgrid/helpers/mail/email.rb', line 30 def split_email(email) split = /(?:(?<address>.+)\s)?<?(?<email>.+@[^>]+)>?/.match(email) return split[:email], split[:address] end |
#to_json ⇒ Object
35 36 37 38 39 40 |
# File 'lib/sendgrid/helpers/mail/email.rb', line 35 def to_json(*) { 'email' => self.email, 'name' => self.name }.delete_if { |_, value| value.to_s.strip == '' } end |