module UserNameSuggester
GENERIC_NAMES = ['i', 'me', 'info', 'support', 'admin', 'webmaster', 'hello', 'mail', 'office', 'contact', 'team']
def self.suggest(name, allow_username = nil)
return unless name.present?
name = parse_name_from_email(name)
find_available_username_based_on(name, allow_username)
end
def self.parse_name_from_email(name)
if name =~ User::EMAIL
# When 'walter@white.com' take 'walter'
name = Regexp.last_match[1]
# When 'me@eviltrout.com' take 'eviltrout'
name = Regexp.last_match[2] if GENERIC_NAMES.include?(name)
end
name
end
def self.find_available_username_based_on(name, allow_username = nil)
This file has been truncated. show original