Module: DeviseSecurityExtension::Schema

Included in:
Orm::ActiveRecord::Schema
Defined in:
lib/devise_security_extension/schema.rb

Overview

add schema helper for migrations

Instance Method Summary collapse

Instance Method Details

#password_archivableObject

Add password_archivable columns

Examples

create_table :old_passwords do

t.password_archivable

end add_index :old_passwords, [:password_archivable_type, :password_archivable_id], :name => :index_password_archivable



32
33
34
35
36
37
38
# File 'lib/devise_security_extension/schema.rb', line 32

def password_archivable
  apply_devise_schema :encrypted_password, String, :limit => 128, :null => false
  apply_devise_schema :password_salt, String
  apply_devise_schema :password_archivable_id, Integer, :null => false
  apply_devise_schema :password_archivable_type, String, :null => false
  apply_devise_schema :created_at, DateTime
end

#password_expirableObject

Add password_changed_at columns in the resource’s database table.

Examples

# For a new resource migration: create_table :the_resources do |t|

t.password_expirable

… end

# or if the resource’s table already exists, define a migration and put this in: change_table :the_resources do |t|

t.datetime :password_changed_at

end



19
20
21
# File 'lib/devise_security_extension/schema.rb', line 19

def password_expirable
  apply_devise_schema :password_changed_at, DateTime
end

#session_limitableObject

Add session_limitable columns in the resource’s database table.

Examples

# For a new resource migration: create_table :the_resources do |t|

t.session_limitable

… end

# or if the resource’s table already exists, define a migration and put this in: change_table :the_resources do |t|

t.string :unique_session_id, :limit => 20

end



55
56
57
# File 'lib/devise_security_extension/schema.rb', line 55

def session_limitable
  apply_devise_schema :unique_session_id, String, :limit => 20
end