Module: RailsJwtAuth::Confirmable
- Defined in:
- app/models/concerns/rails_jwt_auth/confirmable.rb
Class Method Summary collapse
Instance Method Summary collapse
- #confirm! ⇒ Object
- #confirmation_in_progress? ⇒ Boolean
- #confirmed? ⇒ Boolean
- #send_confirmation_instructions ⇒ Object
- #skip_confirmation! ⇒ Object
Class Method Details
.included(base) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'app/models/concerns/rails_jwt_auth/confirmable.rb', line 30 def self.included(base) if base.ancestors.include? Mongoid::Document base.send(:field, :confirmation_token, type: String) base.send(:field, :confirmation_sent_at, type: Time) base.send(:field, :confirmed_at, type: Time) end base.send(:validate, :validate_confirmation, if: :confirmed_at_changed?) base.send(:after_create) do send_confirmation_instructions unless confirmed_at || confirmation_sent_at end end |
Instance Method Details
#confirm! ⇒ Object
16 17 18 19 |
# File 'app/models/concerns/rails_jwt_auth/confirmable.rb', line 16 def confirm! self.confirmed_at = Time.now.utc save end |
#confirmation_in_progress? ⇒ Boolean
25 26 27 28 |
# File 'app/models/concerns/rails_jwt_auth/confirmable.rb', line 25 def confirmation_in_progress? !confirmed_at && confirmation_token && confirmation_sent_at && (Time.now < (confirmation_sent_at + RailsJwtAuth.confirmation_expiration_time)) end |
#confirmed? ⇒ Boolean
12 13 14 |
# File 'app/models/concerns/rails_jwt_auth/confirmable.rb', line 12 def confirmed? confirmed_at.present? end |
#send_confirmation_instructions ⇒ Object
3 4 5 6 7 8 9 10 |
# File 'app/models/concerns/rails_jwt_auth/confirmable.rb', line 3 def send_confirmation_instructions return false if confirmed? self.confirmation_token = SecureRandom.base58(24) self.confirmation_sent_at = Time.now Mailer.confirmation_instructions(self).deliver if save end |
#skip_confirmation! ⇒ Object
21 22 23 |
# File 'app/models/concerns/rails_jwt_auth/confirmable.rb', line 21 def skip_confirmation! self.confirmed_at = Time.now.utc end |