Move email-related methods to mixin
This commit is contained in:
parent
abecde92f5
commit
f5c20527aa
2 changed files with 28 additions and 22 deletions
27
app/controllers/concerns/email_methods.rb
Normal file
27
app/controllers/concerns/email_methods.rb
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
module EmailMethods
|
||||||
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def canonical_email(email)
|
||||||
|
local_part, domain = if email.nil?
|
||||||
|
nil
|
||||||
|
else
|
||||||
|
email.split("@")
|
||||||
|
end
|
||||||
|
|
||||||
|
local_part.sub!(/\+.*$/, "")
|
||||||
|
|
||||||
|
local_part.delete!(".") if %w[gmail.com googlemail.com].include?(domain)
|
||||||
|
|
||||||
|
"#{local_part}@#{domain}"
|
||||||
|
end
|
||||||
|
|
||||||
|
##
|
||||||
|
# get list of MX servers for a domains
|
||||||
|
def domain_mx_servers(domain)
|
||||||
|
Resolv::DNS.open do |dns|
|
||||||
|
dns.getresources(domain, Resolv::DNS::Resource::IN::MX).collect { |mx| mx.exchange.to_s }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -1,4 +1,5 @@
|
||||||
class UsersController < ApplicationController
|
class UsersController < ApplicationController
|
||||||
|
include EmailMethods
|
||||||
include SessionMethods
|
include SessionMethods
|
||||||
include UserMethods
|
include UserMethods
|
||||||
|
|
||||||
|
@ -361,26 +362,4 @@ class UsersController < ApplicationController
|
||||||
|
|
||||||
!blocked
|
!blocked
|
||||||
end
|
end
|
||||||
|
|
||||||
def canonical_email(email)
|
|
||||||
local_part, domain = if email.nil?
|
|
||||||
nil
|
|
||||||
else
|
|
||||||
email.split("@")
|
|
||||||
end
|
|
||||||
|
|
||||||
local_part.sub!(/\+.*$/, "")
|
|
||||||
|
|
||||||
local_part.delete!(".") if %w[gmail.com googlemail.com].include?(domain)
|
|
||||||
|
|
||||||
"#{local_part}@#{domain}"
|
|
||||||
end
|
|
||||||
|
|
||||||
##
|
|
||||||
# get list of MX servers for a domains
|
|
||||||
def domain_mx_servers(domain)
|
|
||||||
Resolv::DNS.open do |dns|
|
|
||||||
dns.getresources(domain, Resolv::DNS::Resource::IN::MX).collect { |mx| mx.exchange.to_s }
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue