Module: DeviseCodeAuthenticatable::LoginCode
- Extended by:
- ActiveSupport::Concern
- Included in:
- LoginCode
- Defined in:
- lib/devise_code_authenticatable/login_code.rb
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
Instance Method Details
#default_values ⇒ Object
12 13 14 15 16 |
# File 'lib/devise_code_authenticatable/login_code.rb', line 12 def default_values self.code ||= rand(10000..99999) self.expired ||= false self.retry_times ||= 0 end |
#expire_now ⇒ Object
34 35 36 |
# File 'lib/devise_code_authenticatable/login_code.rb', line 34 def expire_now self.expired = true; save end |
#expired? ⇒ Boolean
27 28 29 30 31 32 |
# File 'lib/devise_code_authenticatable/login_code.rb', line 27 def expired? retry_time_limit = 5 expire_at = (self.created_at || Time.now) + 10.minutes self.expired = self.expired || Time.now.after?(expire_at) || self.retry_times.to_i > retry_time_limit end |
#verify(code) ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/devise_code_authenticatable/login_code.rb', line 18 def verify(code) if expired? raise ActiveModel::Errors "expired code should never be validated!" end self.retry_times += 1; save self.code == code end |