Sha256: d97855f3ba2348add3d38962c0e313a5de512dea6d91fcf2ca330e44d3664614
Contents?: true
Size: 973 Bytes
Versions: 57
Compression:
Stored size: 973 Bytes
Contents
module Cmor module UserArea class UserPasswordResetRequest include ActiveModel::Model extend ActiveModel::Callbacks include ActiveModel::Validations::Callbacks attr_accessor :user, :email, :host def self.call(attributes) new(attributes).save end def self.i18n_scope :activerecord end validates :email, :host, presence: true validates :user, presence: true before_validation :load_user after_validation :delete_error_on_user, if: ->() { errors.has_key?(:email) } def save return unless valid? self.user.reset_perishable_token self.user.save Cmor::UserArea::UserMailer.password_reset_email(self.user, host).deliver_later end private def load_user self.user = Cmor::UserArea::User.where(email: self.email).first end def delete_error_on_user errors.delete(:user) end end end end
Version data entries
57 entries across 57 versions & 1 rubygems