Class: Gitlab::Utils::UsernameAndEmailGenerator
- Inherits:
-
Object
- Object
- Gitlab::Utils::UsernameAndEmailGenerator
- Includes:
- StrongMemoize
- Defined in:
- lib/gitlab/utils/username_and_email_generator.rb
Instance Method Summary collapse
- #email ⇒ Object
-
#initialize(username_prefix:, email_domain: Gitlab.config.gitlab.host) ⇒ UsernameAndEmailGenerator
constructor
A new instance of UsernameAndEmailGenerator.
- #username ⇒ Object
Constructor Details
#initialize(username_prefix:, email_domain: Gitlab.config.gitlab.host) ⇒ UsernameAndEmailGenerator
Returns a new instance of UsernameAndEmailGenerator.
10 11 12 13 |
# File 'lib/gitlab/utils/username_and_email_generator.rb', line 10 def initialize(username_prefix:, email_domain: Gitlab.config.gitlab.host) @username_prefix = username_prefix @email_domain = email_domain end |
Instance Method Details
#email ⇒ Object
22 23 24 |
# File 'lib/gitlab/utils/username_and_email_generator.rb', line 22 def email email_for(username) end |
#username ⇒ Object
15 16 17 18 19 |
# File 'lib/gitlab/utils/username_and_email_generator.rb', line 15 def username uniquify.string(->(counter) { Kernel.sprintf(username_pattern, counter) }) do |suggested_username| ::Namespace.by_path(suggested_username) || ::User.find_by_any_email(email_for(suggested_username)) end end |