Sha256: 8637a2918cbaef64a92f221f67690d9803329f464fa644edb0439ffa56f68796
Contents?: true
Size: 550 Bytes
Versions: 4
Compression:
Stored size: 550 Bytes
Contents
require 'json' module SendGrid class Email attr_accessor :email, :name def initialize(email: nil, name: nil) if name @email = email @name = name else @email, @name = split_email(email) end end def split_email(email) split = /(?:(?<address>.+)\s)?<?(?<email>.+@[^>]+)>?/.match(email) [split[:email], split[:address]] end def to_json(*) { 'email' => email, 'name' => name }.delete_if { |_, value| value.to_s.strip == '' } end end end
Version data entries
4 entries across 4 versions & 1 rubygems