Module: Devision::Lockable
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/devision/models/lockable.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.required_fields(klass) ⇒ Object
7 8 9 10 11 12 13 |
# File 'lib/devision/models/lockable.rb', line 7 def self.required_fields(klass) attributes = [] attributes << :failed_attempts if klass.lock_strategy_enabled?(:failed_attempts) attributes << :locked_at if klass.unlock_strategy_enabled?(:time) attributes << :unlock_token if klass.unlock_strategy_enabled?(:email) attributes end |
Instance Method Details
#access_locked? ⇒ Boolean
27 28 29 |
# File 'lib/devision/models/lockable.rb', line 27 def access_locked? !!locked_at && !lock_expired? end |
#lock_access! ⇒ Object
15 16 17 18 |
# File 'lib/devision/models/lockable.rb', line 15 def lock_access! self.locked_at = Time.now.utc save(validate: false) end |
#unlock_access! ⇒ Object
20 21 22 23 24 25 |
# File 'lib/devision/models/lockable.rb', line 20 def unlock_access! self.locked_at = nil self.failed_attempts = 0 if respond_to?(:failed_attempts=) self.unlock_token = nil if respond_to?(:unlock_token=) save(validate: false) end |