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