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
- #default_values ⇒ Object
- #expire_now ⇒ Object
- #expired? ⇒ Boolean
- #used? ⇒ Boolean
- #verify(code) ⇒ Object
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
38 39 40 |
# File 'lib/devise_code_authenticatable/login_code.rb', line 38 def expire_now self.expired = true; save end |
#expired? ⇒ Boolean
31 32 33 34 35 36 |
# File 'lib/devise_code_authenticatable/login_code.rb', line 31 def expired? retry_time_limit = self.class.retry_limit expire_at = (self.created_at || Time.now) + self.class.expire_time self.expired = self.expired || Time.now.after?(expire_at) || self.retry_times.to_i > retry_time_limit end |
#used? ⇒ Boolean
27 28 29 |
# File 'lib/devise_code_authenticatable/login_code.rb', line 27 def used? expired 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? return false end self.retry_times += 1; save! self.code == code end |