Class: Searls::Auth::ResetsPassword
- Inherits:
-
Object
- Object
- Searls::Auth::ResetsPassword
- Defined in:
- lib/searls/auth/resets_password.rb
Defined Under Namespace
Classes: Result
Instance Method Summary collapse
Instance Method Details
#reset(user:, password:, password_confirmation:) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/searls/auth/resets_password.rb', line 6 def reset(user:, password:, password_confirmation:) configuration = Searls::Auth.config if password.blank? = configuration.resolve(:flash_error_after_password_reset_password_blank, {}) return Result.new(success?: false, errors: Array(), user: user) end if password != password_confirmation = configuration.resolve(:flash_error_after_password_reset_password_mismatch, {}) return Result.new(success?: false, errors: Array(), user: user) end configuration.password_setter.call(user, password) if user.respond_to?(:password_confirmation=) user.password_confirmation = password_confirmation end if user.save configuration.after_login_success.call(user) Result.new(success?: true, user: user, errors: []) else Result.new(success?: false, user: user, errors: (user)) end end |