Module: RailsJwtAuth::Recoverable

Defined in:
app/models/concerns/rails_jwt_auth/recoverable.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
# File 'app/models/concerns/rails_jwt_auth/recoverable.rb', line 15

def self.included(base)
  if base.ancestors.include? Mongoid::Document
    base.send(:field, :reset_password_token,   type: String)
    base.send(:field, :reset_password_sent_at, type: Time)
  end

  base.send(:before_update) do
    if password_digest_changed? && reset_password_token
      self.reset_password_token = nil
    end
  end
end

Instance Method Details

#reset_password_in_progress?Boolean

Returns:

  • (Boolean)


10
11
12
13
# File 'app/models/concerns/rails_jwt_auth/recoverable.rb', line 10

def reset_password_in_progress?
  reset_password_token && reset_password_sent_at &&
    (Time.now < (reset_password_sent_at + RailsJwtAuth.reset_password_expiration_time))
end

#send_reset_password_instructionsObject



3
4
5
6
7
8
# File 'app/models/concerns/rails_jwt_auth/recoverable.rb', line 3

def send_reset_password_instructions
  self.reset_password_token = SecureRandom.base58(24)
  self.reset_password_sent_at = Time.now

  Mailer.reset_password_instructions(self).deliver if save
end