Sha256: 5a0c2f6516f214f2c062abd111a4930013088a3d180f6b0dfe8f8f95a30e0bdf

Contents?: true

Size: 713 Bytes

Versions: 33

Compression:

Stored size: 713 Bytes

Contents

class RailsBase::EmailChange < RailsBase::ServiceBase

  delegate :email, to: :context
  delegate :last_name, to: :context
  delegate :user, to: :context

  def call
    context.original_email = user.email
    user.update_attribute(:email, email)
    context.new_email = email
    log(level: :info, msg: "Changed #{user.id} email from: #{context.original_email} to #{email}")
  rescue StandardError
    context.fail!(message: 'Unable to update email address. Likely that this email is already taken')
  end

  def validate!
    raise "Expected email to be a String. Received #{email.class}" unless email.is_a? String
    raise "Expected user to be a User. Received #{user.class}" unless user.is_a? User
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
rails_base-0.82.0 app/services/rails_base/email_change.rb
rails_base-0.81.1 app/services/rails_base/email_change.rb
rails_base-0.81.0 app/services/rails_base/email_change.rb
rails_base-0.80.0 app/services/rails_base/email_change.rb
rails_base-0.75.6 app/services/rails_base/email_change.rb
rails_base-0.75.5 app/services/rails_base/email_change.rb
rails_base-0.75.4 app/services/rails_base/email_change.rb
rails_base-0.75.3 app/services/rails_base/email_change.rb
rails_base-0.75.2 app/services/rails_base/email_change.rb
rails_base-0.75.1 app/services/rails_base/email_change.rb
rails_base-0.75.0 app/services/rails_base/email_change.rb
rails_base-0.74.0 app/services/rails_base/email_change.rb
rails_base-0.73.1 app/services/rails_base/email_change.rb
rails_base-0.73.0 app/services/rails_base/email_change.rb
rails_base-0.72.1 app/services/rails_base/email_change.rb
rails_base-0.72.0 app/services/rails_base/email_change.rb
rails_base-0.71.0 app/services/rails_base/email_change.rb
rails_base-0.70.1.pre app/services/rails_base/email_change.rb
rails_base-0.70.0 app/services/rails_base/email_change.rb
rails_base-0.61.0 app/services/rails_base/email_change.rb