class EacUsersSupport::Tasks::PasswordReset
Public Class Methods
new(email, administrator)
click to toggle source
# File lib/eac_users_support/tasks/password_reset.rb, line 10 def initialize(email, administrator) @email = email @administrator = administrator end
Public Instance Methods
run()
click to toggle source
# File lib/eac_users_support/tasks/password_reset.rb, line 15 def run if found_user Rails.logger.info "Usuário encontrado com o email \"#{@email}\"" found_user.update!(attributes_to_update) else Rails.logger.info "Usuário não encontrado com o email \"#{@email}\". Criando..." User.create!({ email: @email }.merge(attributes_to_update)) end Rails.logger.info "Senha resetada para #{@email}" end
Private Instance Methods
attributes_to_update()
click to toggle source
# File lib/eac_users_support/tasks/password_reset.rb, line 28 def attributes_to_update r = { password: @email, password_confirmation: @email } if found_user.present? && found_user.confirmed_at.blank? r.merge(confirmed_at: ::DateTime.now) end r[:administrator] = true if @administrator r end
found_user_uncached()
click to toggle source
# File lib/eac_users_support/tasks/password_reset.rb, line 37 def found_user_uncached ::EacUsersSupport::User.find_by(email: @email) end