Module: Devise::Models::ImageAuthenticatable
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/image_authentication/models/image_authenticatable.rb
Defined Under Namespace
Modules: ClassMethods
Constant Summary collapse
- Categories =
[ 'Aeroplanes', 'Beverages', 'Bicycles', 'Birds', 'Boats', 'Cars', 'Cats', 'Clocks', 'Dogs', 'Fish', 'Flowers', 'Food', 'Furniture', 'Houses', 'Insects', 'Money', 'People', 'Shoes', 'Telephones', 'Trains' ]
Instance Method Summary collapse
- #all_auth_categories ⇒ Object
- #auth_categories ⇒ Object
- #auth_categories=(categories) ⇒ Object
- #max_login_attempts? ⇒ Boolean
- #valid_images?(categories) ⇒ Boolean
Instance Method Details
#all_auth_categories ⇒ Object
49 50 51 |
# File 'lib/image_authentication/models/image_authenticatable.rb', line 49 def all_auth_categories Categories.shuffle[0..self.class.number_of_categories] end |
#auth_categories ⇒ Object
39 40 41 |
# File 'lib/image_authentication/models/image_authenticatable.rb', line 39 def auth_categories Categories.reject { |c| ((auth_categories_mask || 0 ) & 2**Categories.index(c)).zero? } end |
#auth_categories=(categories) ⇒ Object
35 36 37 |
# File 'lib/image_authentication/models/image_authenticatable.rb', line 35 def auth_categories=(categories) self.auth_categories_mask = (categories & Categories).map { |c| 2**Categories.index(c) }.sum end |
#max_login_attempts? ⇒ Boolean
53 54 55 |
# File 'lib/image_authentication/models/image_authenticatable.rb', line 53 def max_login_attempts? self.class.lock_after_failed_attempts && (failed_attempts >= self.class.maximum_attempts) end |
#valid_images?(categories) ⇒ Boolean
43 44 45 46 47 |
# File 'lib/image_authentication/models/image_authenticatable.rb', line 43 def valid_images?(categories) return false if categories.nil? (categories - auth_categories).empty? end |