Class: Users::EmailVerification::UpdateEmailService

Inherits:
Object
  • Object
show all
Includes:
ActionView::Helpers::DateHelper
Defined in:
app/services/users/email_verification/update_email_service.rb

Constant Summary collapse

RATE_LIMIT =
:email_verification_code_send

Instance Method Summary collapse

Constructor Details

#initialize(user:) ⇒ UpdateEmailService

Returns a new instance of UpdateEmailService.



10
11
12
# File 'app/services/users/email_verification/update_email_service.rb', line 10

def initialize(user:)
  @user = user
end

Instance Method Details

#execute(email:) ⇒ Object



14
15
16
17
18
19
20
21
# File 'app/services/users/email_verification/update_email_service.rb', line 14

def execute(email:)
  return failure(:rate_limited) if rate_limited?
  return failure(:already_offered) if already_offered?
  return failure(:no_change) if no_change?(email)
  return failure(:validation_error) unless update_email

  success
end