module EmailAddress
EmailAddress
parses and validates email addresses against RFC standard, conventional, canonical, formats and other special uses.
ActiveRecord v5.0 Custom Type
1) Register your types
# config/initializers/email_address.rb ActiveRecord::Type.register(:email_address, EmailAddress::Address) ActiveRecord::Type.register(:canonical_email_address, EmailAddress::CanonicalEmailAddressType)
2) Define your email address columns in your model class
class User < ApplicationRecord attribute :email, :email_address attribute :canonical_email, :canonical_email_address def email=(email_address) self[:canonical_email] = email_address self[:email] = email_address end end
3) Profit!
user = User.new(email:"Pat.Smith+registrations@gmail.com") user.email #=> "pat.smith+registrations@gmail.com" user.canonical_email #=> "patsmith@gmail.com"
ActiveRecord v5.0 Custom Type
1) Register your types
# config/initializers/email_address.rb ActiveRecord::Type.register(:email_address, EmailAddress::Address) ActiveRecord::Type.register(:canonical_email_address, EmailAddress::CanonicalEmailAddressType)
2) Define your email address columns in your model class
class User < ApplicationRecord attribute :email, :email_address attribute :canonical_email, :canonical_email_address def email=(email_address) self[:canonical_email] = email_address self[:email] = email_address end end
3) Profit!
user = User.new(email:"Pat.Smith+registrations@gmail.com") user.email #=> "pat.smith+registrations@gmail.com" user.canonical_email #=> "patsmith@gmail.com"
Constants
- VERSION
Public Class Methods
Source
# File lib/email_address.rb, line 64 def matches?(email_address, rules, config = {}, locale = "en") Address.new(email_address, config, locale).matches?(rules) end
Does the email address match any of the given rules
Source
# File lib/email_address.rb, line 51 def new(email_address, config = {}, locale = "en") Address.new(email_address, config, locale) end
Creates an instance of this email address. This is a short-cut to EmailAddress::Address.new
Source
# File lib/email_address.rb, line 59 def new_canonical(email_address, config = {}, locale = "en") Address.new(Address.new(email_address, config, locale).canonical, config) end
Source
# File lib/email_address.rb, line 55 def new_redacted(email_address, config = {}, locale = "en") Address.new(Address.new(email_address, config, locale).redact) end