devise 3.2.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of devise might be problematic. Click here for more details.

Files changed (187) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +18 -3
  3. data/CHANGELOG.md +82 -9
  4. data/CONTRIBUTING.md +2 -2
  5. data/Gemfile +7 -9
  6. data/Gemfile.lock +102 -96
  7. data/MIT-LICENSE +1 -1
  8. data/README.md +94 -42
  9. data/Rakefile +1 -1
  10. data/app/controllers/devise/confirmations_controller.rb +5 -3
  11. data/app/controllers/devise/omniauth_callbacks_controller.rb +2 -2
  12. data/app/controllers/devise/passwords_controller.rb +5 -3
  13. data/app/controllers/devise/registrations_controller.rb +26 -10
  14. data/app/controllers/devise/sessions_controller.rb +39 -14
  15. data/app/controllers/devise/unlocks_controller.rb +4 -2
  16. data/app/controllers/devise_controller.rb +6 -6
  17. data/app/helpers/devise_helper.rb +2 -2
  18. data/app/views/devise/confirmations/new.html.erb +2 -2
  19. data/app/views/devise/mailer/confirmation_instructions.html.erb +1 -1
  20. data/app/views/devise/mailer/reset_password_instructions.html.erb +1 -1
  21. data/app/views/devise/mailer/unlock_instructions.html.erb +1 -1
  22. data/app/views/devise/passwords/edit.html.erb +3 -3
  23. data/app/views/devise/passwords/new.html.erb +2 -2
  24. data/app/views/devise/registrations/edit.html.erb +6 -6
  25. data/app/views/devise/registrations/new.html.erb +5 -5
  26. data/app/views/devise/sessions/new.html.erb +5 -5
  27. data/app/views/devise/shared/_links.erb +1 -1
  28. data/app/views/devise/unlocks/new.html.erb +2 -2
  29. data/config/locales/en.yml +17 -16
  30. data/devise.gemspec +2 -2
  31. data/gemfiles/{Gemfile.rails-3.2.x → Gemfile.rails-3.2-stable} +8 -10
  32. data/gemfiles/Gemfile.rails-3.2-stable.lock +166 -0
  33. data/gemfiles/Gemfile.rails-4.0-stable +29 -0
  34. data/gemfiles/Gemfile.rails-4.0-stable.lock +162 -0
  35. data/gemfiles/Gemfile.rails-head +32 -0
  36. data/gemfiles/Gemfile.rails-head.lock +190 -0
  37. data/lib/devise/controllers/helpers.rb +84 -29
  38. data/lib/devise/controllers/rememberable.rb +3 -3
  39. data/lib/devise/controllers/scoped_views.rb +1 -1
  40. data/lib/devise/controllers/sign_in_out.rb +9 -10
  41. data/lib/devise/controllers/store_location.rb +56 -0
  42. data/lib/devise/controllers/url_helpers.rb +3 -1
  43. data/lib/devise/failure_app.rb +12 -10
  44. data/lib/devise/hooks/activatable.rb +5 -6
  45. data/lib/devise/hooks/csrf_cleaner.rb +3 -1
  46. data/lib/devise/hooks/lockable.rb +1 -1
  47. data/lib/devise/hooks/proxy.rb +2 -2
  48. data/lib/devise/hooks/rememberable.rb +2 -2
  49. data/lib/devise/hooks/timeoutable.rb +10 -3
  50. data/lib/devise/hooks/trackable.rb +1 -1
  51. data/lib/devise/mailers/helpers.rb +8 -8
  52. data/lib/devise/mapping.rb +4 -1
  53. data/lib/devise/models/authenticatable.rb +5 -5
  54. data/lib/devise/models/confirmable.rb +14 -14
  55. data/lib/devise/models/database_authenticatable.rb +18 -5
  56. data/lib/devise/models/lockable.rb +14 -11
  57. data/lib/devise/models/omniauthable.rb +1 -1
  58. data/lib/devise/models/recoverable.rb +23 -7
  59. data/lib/devise/models/rememberable.rb +6 -6
  60. data/lib/devise/models/timeoutable.rb +2 -2
  61. data/lib/devise/models/trackable.rb +5 -2
  62. data/lib/devise/models/validatable.rb +6 -6
  63. data/lib/devise/modules.rb +10 -10
  64. data/lib/devise/omniauth/url_helpers.rb +2 -2
  65. data/lib/devise/orm/active_record.rb +1 -1
  66. data/lib/devise/orm/mongoid.rb +1 -1
  67. data/lib/devise/rails/routes.rb +107 -78
  68. data/lib/devise/rails.rb +7 -1
  69. data/lib/devise/strategies/authenticatable.rb +11 -4
  70. data/lib/devise/strategies/base.rb +1 -1
  71. data/lib/devise/strategies/database_authenticatable.rb +7 -4
  72. data/lib/devise/test_helpers.rb +2 -2
  73. data/lib/devise/time_inflector.rb +2 -2
  74. data/lib/devise/version.rb +1 -1
  75. data/lib/devise.rb +15 -10
  76. data/lib/generators/active_record/devise_generator.rb +27 -10
  77. data/lib/generators/active_record/templates/migration.rb +4 -4
  78. data/lib/generators/active_record/templates/migration_existing.rb +4 -4
  79. data/lib/generators/devise/devise_generator.rb +5 -3
  80. data/lib/generators/devise/install_generator.rb +5 -0
  81. data/lib/generators/devise/views_generator.rb +31 -18
  82. data/lib/generators/mongoid/devise_generator.rb +20 -19
  83. data/lib/generators/templates/README +4 -4
  84. data/lib/generators/templates/devise.rb +20 -11
  85. data/lib/generators/templates/markerb/confirmation_instructions.markerb +1 -1
  86. data/lib/generators/templates/markerb/reset_password_instructions.markerb +1 -1
  87. data/lib/generators/templates/markerb/unlock_instructions.markerb +1 -1
  88. data/lib/generators/templates/simple_form_for/confirmations/new.html.erb +2 -2
  89. data/lib/generators/templates/simple_form_for/passwords/edit.html.erb +4 -4
  90. data/lib/generators/templates/simple_form_for/passwords/new.html.erb +2 -2
  91. data/lib/generators/templates/simple_form_for/registrations/edit.html.erb +6 -6
  92. data/lib/generators/templates/simple_form_for/registrations/new.html.erb +4 -4
  93. data/lib/generators/templates/simple_form_for/sessions/new.html.erb +4 -4
  94. data/lib/generators/templates/simple_form_for/unlocks/new.html.erb +2 -2
  95. data/script/cached-bundle +49 -0
  96. data/script/s3-put +71 -0
  97. data/test/controllers/custom_registrations_controller_test.rb +35 -0
  98. data/test/controllers/helpers_test.rb +89 -31
  99. data/test/controllers/internal_helpers_test.rb +11 -8
  100. data/test/controllers/passwords_controller_test.rb +1 -1
  101. data/test/controllers/sessions_controller_test.rb +29 -25
  102. data/test/controllers/url_helpers_test.rb +4 -4
  103. data/test/delegator_test.rb +1 -1
  104. data/test/devise_test.rb +21 -8
  105. data/test/failure_app_test.rb +61 -25
  106. data/test/generators/active_record_generator_test.rb +10 -4
  107. data/test/generators/devise_generator_test.rb +2 -2
  108. data/test/generators/mongoid_generator_test.rb +3 -3
  109. data/test/generators/views_generator_test.rb +30 -1
  110. data/test/helpers/devise_helper_test.rb +14 -13
  111. data/test/integration/authenticatable_test.rb +61 -45
  112. data/test/integration/confirmable_test.rb +95 -55
  113. data/test/integration/database_authenticatable_test.rb +16 -16
  114. data/test/integration/http_authenticatable_test.rb +12 -12
  115. data/test/integration/lockable_test.rb +43 -43
  116. data/test/integration/omniauthable_test.rb +3 -3
  117. data/test/integration/recoverable_test.rb +53 -53
  118. data/test/integration/registerable_test.rb +90 -80
  119. data/test/integration/rememberable_test.rb +15 -15
  120. data/test/integration/timeoutable_test.rb +27 -16
  121. data/test/integration/trackable_test.rb +4 -4
  122. data/test/mailers/confirmation_instructions_test.rb +7 -7
  123. data/test/mailers/reset_password_instructions_test.rb +6 -6
  124. data/test/mailers/unlock_instructions_test.rb +5 -5
  125. data/test/mapping_test.rb +3 -3
  126. data/test/models/authenticatable_test.rb +3 -3
  127. data/test/models/confirmable_test.rb +32 -32
  128. data/test/models/database_authenticatable_test.rb +32 -27
  129. data/test/models/lockable_test.rb +57 -33
  130. data/test/models/recoverable_test.rb +34 -22
  131. data/test/models/rememberable_test.rb +29 -14
  132. data/test/models/serializable_test.rb +8 -8
  133. data/test/models/timeoutable_test.rb +1 -1
  134. data/test/models/trackable_test.rb +28 -0
  135. data/test/models/validatable_test.rb +13 -13
  136. data/test/omniauth/config_test.rb +4 -4
  137. data/test/omniauth/url_helpers_test.rb +3 -3
  138. data/test/orm/mongoid.rb +1 -1
  139. data/test/parameter_sanitizer_test.rb +1 -1
  140. data/test/rails_app/app/active_record/shim.rb +1 -1
  141. data/test/rails_app/app/active_record/user_on_engine.rb +7 -0
  142. data/test/rails_app/app/active_record/user_on_main_app.rb +7 -0
  143. data/test/rails_app/app/controllers/admins/sessions_controller.rb +1 -1
  144. data/test/rails_app/app/controllers/admins_controller.rb +1 -1
  145. data/test/rails_app/app/controllers/application_controller.rb +5 -2
  146. data/test/rails_app/app/controllers/application_with_fake_engine.rb +30 -0
  147. data/test/rails_app/app/controllers/custom/registrations_controller.rb +21 -0
  148. data/test/rails_app/app/controllers/home_controller.rb +1 -1
  149. data/test/rails_app/app/controllers/publisher/registrations_controller.rb +1 -1
  150. data/test/rails_app/app/controllers/publisher/sessions_controller.rb +1 -1
  151. data/test/rails_app/app/controllers/users/omniauth_callbacks_controller.rb +4 -4
  152. data/test/rails_app/app/controllers/users_controller.rb +6 -6
  153. data/test/rails_app/app/mailers/users/mailer.rb +4 -4
  154. data/test/rails_app/app/mongoid/admin.rb +11 -11
  155. data/test/rails_app/app/mongoid/shim.rb +2 -2
  156. data/test/rails_app/app/mongoid/user.rb +19 -19
  157. data/test/rails_app/app/mongoid/user_on_engine.rb +39 -0
  158. data/test/rails_app/app/mongoid/user_on_main_app.rb +39 -0
  159. data/test/rails_app/app/views/admins/sessions/new.html.erb +1 -1
  160. data/test/rails_app/app/views/home/admin_dashboard.html.erb +1 -1
  161. data/test/rails_app/app/views/home/index.html.erb +1 -1
  162. data/test/rails_app/app/views/home/join.html.erb +1 -1
  163. data/test/rails_app/app/views/home/user_dashboard.html.erb +1 -1
  164. data/test/rails_app/app/views/layouts/application.html.erb +1 -1
  165. data/test/rails_app/config/application.rb +2 -2
  166. data/test/rails_app/config/boot.rb +7 -1
  167. data/test/rails_app/config/environments/development.rb +0 -4
  168. data/test/rails_app/config/environments/production.rb +0 -4
  169. data/test/rails_app/config/initializers/devise.rb +7 -5
  170. data/test/rails_app/config/initializers/secret_token.rb +1 -1
  171. data/test/rails_app/config/routes.rb +60 -42
  172. data/test/rails_app/db/migrate/20100401102949_create_tables.rb +7 -7
  173. data/test/rails_app/db/schema.rb +21 -17
  174. data/test/rails_app/lib/shared_admin.rb +4 -4
  175. data/test/rails_app/lib/shared_user.rb +1 -1
  176. data/test/rails_app/lib/shared_user_without_omniauth.rb +13 -0
  177. data/test/routes_test.rb +72 -58
  178. data/test/support/action_controller/record_identifier.rb +10 -0
  179. data/test/support/assertions.rb +2 -3
  180. data/test/support/helpers.rb +4 -4
  181. data/test/support/integration.rb +14 -14
  182. data/test/support/mongoid.yml +6 -0
  183. data/test/test_helper.rb +2 -7
  184. data/test/test_helpers_test.rb +25 -35
  185. data/test/test_models.rb +12 -5
  186. metadata +53 -38
  187. data/gemfiles/Gemfile.rails-3.2.x.lock +0 -159
@@ -1,6 +1,6 @@
1
1
  Rails.application.routes.draw do
2
2
  # Resources for testing
3
- resources :users, :only => [:index] do
3
+ resources :users, only: [:index] do
4
4
  member do
5
5
  get :expire
6
6
  get :accept
@@ -9,96 +9,114 @@ Rails.application.routes.draw do
9
9
  end
10
10
 
11
11
  authenticate do
12
- post :exhibit, :on => :member
12
+ post :exhibit, on: :member
13
13
  end
14
14
  end
15
15
 
16
- resources :admins, :only => [:index] do
17
- get :expire, :on => :member
16
+ resources :admins, only: [:index] do
17
+ get :expire, on: :member
18
18
  end
19
19
 
20
20
  # Users scope
21
- devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
21
+ devise_for :users, controllers: { omniauth_callbacks: "users/omniauth_callbacks" }
22
+
23
+ devise_for :user_on_main_apps,
24
+ class_name: 'UserOnMainApp',
25
+ router_name: :main_app,
26
+ module: :devise
27
+
28
+ devise_for :user_on_engines,
29
+ class_name: 'UserOnEngine',
30
+ router_name: :fake_engine,
31
+ module: :devise
22
32
 
23
33
  as :user do
24
- get "/as/sign_in", :to => "devise/sessions#new"
34
+ get "/as/sign_in", to: "devise/sessions#new"
25
35
  end
26
36
 
27
- get "/sign_in", :to => "devise/sessions#new"
37
+ get "/sign_in", to: "devise/sessions#new"
38
+
39
+ # Routes for custom controller testing
40
+ devise_for :user, only: [:registrations], controllers: { registrations: "custom/registrations" }, as: :custom, path: :custom
28
41
 
29
42
  # Admin scope
30
- devise_for :admin, :path => "admin_area", :controllers => { :sessions => :"admins/sessions" }, :skip => :passwords
43
+ devise_for :admin, path: "admin_area", controllers: { sessions: :"admins/sessions" }, skip: :passwords
31
44
 
32
- get "/admin_area/home", :to => "admins#index", :as => :admin_root
33
- get "/anywhere", :to => "foo#bar", :as => :new_admin_password
45
+ get "/admin_area/home", to: "admins#index", as: :admin_root
46
+ get "/anywhere", to: "foo#bar", as: :new_admin_password
34
47
 
35
48
  authenticate(:admin) do
36
- get "/private", :to => "home#private", :as => :private
49
+ get "/private", to: "home#private", as: :private
37
50
  end
38
51
 
39
52
  authenticate(:admin, lambda { |admin| admin.active? }) do
40
- get "/private/active", :to => "home#private", :as => :private_active
53
+ get "/private/active", to: "home#private", as: :private_active
41
54
  end
42
55
 
43
56
  authenticated :admin do
44
- get "/dashboard", :to => "home#admin_dashboard"
57
+ get "/dashboard", to: "home#admin_dashboard"
45
58
  end
46
59
 
47
60
  authenticated :admin, lambda { |admin| admin.active? } do
48
- get "/dashboard/active", :to => "home#admin_dashboard"
61
+ get "/dashboard/active", to: "home#admin_dashboard"
49
62
  end
50
63
 
51
64
  authenticated do
52
- get "/dashboard", :to => "home#user_dashboard"
65
+ get "/dashboard", to: "home#user_dashboard"
53
66
  end
54
67
 
55
68
  unauthenticated do
56
- get "/join", :to => "home#join"
69
+ get "/join", to: "home#join"
57
70
  end
58
71
 
59
72
  # Routes for constraints testing
60
- devise_for :headquarters_admin, :class_name => "Admin", :path => "headquarters", :constraints => {:host => /192\.168\.1\.\d\d\d/}
73
+ devise_for :headquarters_admin, class_name: "Admin", path: "headquarters", constraints: {host: /192\.168\.1\.\d\d\d/}
74
+
75
+ constraints(host: /192\.168\.1\.\d\d\d/) do
76
+ devise_for :homebase_admin, class_name: "Admin", path: "homebase"
77
+ end
61
78
 
62
- constraints(:host => /192\.168\.1\.\d\d\d/) do
63
- devise_for :homebase_admin, :class_name => "Admin", :path => "homebase"
79
+ scope(subdomain: 'sub') do
80
+ devise_for :subdomain_users, class_name: "User", only: [:sessions]
64
81
  end
65
82
 
66
- devise_for :skip_admin, :class_name => "Admin", :skip => :all
83
+ devise_for :skip_admin, class_name: "Admin", skip: :all
67
84
 
68
85
  # Routes for format=false testing
69
- devise_for :htmlonly_admin, :class_name => "Admin", :skip => [:confirmations, :unlocks], :path => "htmlonly_admin", :format => false, :skip_helpers => [:confirmations, :unlocks]
70
- devise_for :htmlonly_users, :class_name => "User", :only => [:confirmations, :unlocks], :path => "htmlonly_users", :format => false, :skip_helpers => true
86
+ devise_for :htmlonly_admin, class_name: "Admin", skip: [:confirmations, :unlocks], path: "htmlonly_admin", format: false, skip_helpers: [:confirmations, :unlocks]
87
+ devise_for :htmlonly_users, class_name: "User", only: [:confirmations, :unlocks], path: "htmlonly_users", format: false, skip_helpers: true
71
88
 
72
89
  # Other routes for routing_test.rb
73
- devise_for :reader, :class_name => "User", :only => :passwords
90
+ devise_for :reader, class_name: "User", only: :passwords
74
91
 
75
- scope :host => "sub.example.com" do
76
- devise_for :sub_admin, :class_name => "Admin"
92
+ scope host: "sub.example.com" do
93
+ devise_for :sub_admin, class_name: "Admin"
77
94
  end
78
95
 
79
- namespace :publisher, :path_names => { :sign_in => "i_dont_care", :sign_out => "get_out" } do
80
- devise_for :accounts, :class_name => "Admin", :path_names => { :sign_in => "get_in" }
96
+ namespace :publisher, path_names: { sign_in: "i_dont_care", sign_out: "get_out" } do
97
+ devise_for :accounts, class_name: "Admin", path_names: { sign_in: "get_in" }
81
98
  end
82
99
 
83
- scope ":locale", :module => :invalid do
84
- devise_for :accounts, :singular => "manager", :class_name => "Admin",
85
- :path_names => {
86
- :sign_in => "login", :sign_out => "logout",
87
- :password => "secret", :confirmation => "verification",
88
- :unlock => "unblock", :sign_up => "register",
89
- :registration => "management", :cancel => "giveup"
90
- }, :failure_app => lambda { |env| [404, {"Content-Type" => "text/plain"}, ["Oops, not found"]] }, :module => :devise
100
+ scope ":locale", module: :invalid do
101
+ devise_for :accounts, singular: "manager", class_name: "Admin",
102
+ path_names: {
103
+ sign_in: "login", sign_out: "logout",
104
+ password: "secret", confirmation: "verification",
105
+ unlock: "unblock", sign_up: "register",
106
+ registration: "management",
107
+ cancel: "giveup", edit: "edit/profile"
108
+ }, failure_app: lambda { |env| [404, {"Content-Type" => "text/plain"}, ["Oops, not found"]] }, module: :devise
91
109
  end
92
110
 
93
- namespace :sign_out_via, :module => "devise" do
94
- devise_for :deletes, :sign_out_via => :delete, :class_name => "Admin"
95
- devise_for :posts, :sign_out_via => :post, :class_name => "Admin"
96
- devise_for :delete_or_posts, :sign_out_via => [:delete, :post], :class_name => "Admin"
111
+ namespace :sign_out_via, module: "devise" do
112
+ devise_for :deletes, sign_out_via: :delete, class_name: "Admin"
113
+ devise_for :posts, sign_out_via: :post, class_name: "Admin"
114
+ devise_for :delete_or_posts, sign_out_via: [:delete, :post], class_name: "Admin"
97
115
  end
98
116
 
99
- get "/set", :to => "home#set"
100
- get "/unauthenticated", :to => "home#unauthenticated"
117
+ get "/set", to: "home#set"
118
+ get "/unauthenticated", to: "home#unauthenticated"
101
119
  get "/custom_strategy/new"
102
120
 
103
- root :to => "home#index", :via => [:get, :post]
121
+ root to: "home#index", via: [:get, :post]
104
122
  end
@@ -5,8 +5,8 @@ class CreateTables < ActiveRecord::Migration
5
5
  t.string :facebook_token
6
6
 
7
7
  ## Database authenticatable
8
- t.string :email, :null => false, :default => ""
9
- t.string :encrypted_password, :null => false, :default => ""
8
+ t.string :email, null: false, default: ""
9
+ t.string :encrypted_password, null: false, default: ""
10
10
 
11
11
  ## Recoverable
12
12
  t.string :reset_password_token
@@ -16,7 +16,7 @@ class CreateTables < ActiveRecord::Migration
16
16
  t.datetime :remember_created_at
17
17
 
18
18
  ## Trackable
19
- t.integer :sign_in_count, :default => 0
19
+ t.integer :sign_in_count, default: 0
20
20
  t.datetime :current_sign_in_at
21
21
  t.datetime :last_sign_in_at
22
22
  t.string :current_sign_in_ip
@@ -29,7 +29,7 @@ class CreateTables < ActiveRecord::Migration
29
29
  # t.string :unconfirmed_email # Only if using reconfirmable
30
30
 
31
31
  ## Lockable
32
- t.integer :failed_attempts, :default => 0 # Only if lock strategy is :failed_attempts
32
+ t.integer :failed_attempts, default: 0 # Only if lock strategy is :failed_attempts
33
33
  t.string :unlock_token # Only if unlock strategy is :email or :both
34
34
  t.datetime :locked_at
35
35
 
@@ -38,8 +38,8 @@ class CreateTables < ActiveRecord::Migration
38
38
 
39
39
  create_table :admins do |t|
40
40
  ## Database authenticatable
41
- t.string :email, :null => true
42
- t.string :encrypted_password, :null => true
41
+ t.string :email, null: true
42
+ t.string :encrypted_password, null: true
43
43
 
44
44
  ## Recoverable
45
45
  t.string :reset_password_token
@@ -58,7 +58,7 @@ class CreateTables < ActiveRecord::Migration
58
58
  t.datetime :locked_at
59
59
 
60
60
  ## Attribute for testing route blocks
61
- t.boolean :active, :default => false
61
+ t.boolean :active, default: false
62
62
 
63
63
  t.timestamps
64
64
  end
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
  # This file is auto-generated from the current state of the database. Instead
2
3
  # of editing this file, please use the migrations feature of Active Record to
3
4
  # incrementally modify your database, and then regenerate this schema definition.
@@ -8,40 +9,43 @@
8
9
  # from scratch. The latter is a flawed and unsustainable approach (the more migrations
9
10
  # you'll amass, the slower it'll run and the greater likelihood for issues).
10
11
  #
11
- # It's strongly recommended to check this file into your version control system.
12
+ # It's strongly recommended that you check this file into your version control system.
12
13
 
13
- ActiveRecord::Schema.define(:version => 20100401102949) do
14
+ ActiveRecord::Schema.define(version: 20100401102949) do
14
15
 
15
- create_table "admins", :force => true do |t|
16
+ create_table "admins", force: true do |t|
16
17
  t.string "email"
17
- t.string "encrypted_password", :limit => 128
18
- t.string "password_salt"
19
- t.string "remember_token"
20
- t.datetime "remember_created_at"
18
+ t.string "encrypted_password"
21
19
  t.string "reset_password_token"
22
- t.integer "failed_attempts", :default => 0
23
- t.string "unlock_token"
20
+ t.datetime "reset_password_sent_at"
21
+ t.datetime "remember_created_at"
22
+ t.string "confirmation_token"
23
+ t.datetime "confirmed_at"
24
+ t.datetime "confirmation_sent_at"
25
+ t.string "unconfirmed_email"
24
26
  t.datetime "locked_at"
27
+ t.boolean "active", default: false
25
28
  t.datetime "created_at"
26
29
  t.datetime "updated_at"
27
30
  end
28
31
 
29
- create_table "users", :force => true do |t|
32
+ create_table "users", force: true do |t|
30
33
  t.string "username"
31
34
  t.string "facebook_token"
32
- t.string "email", :default => "", :null => false
33
- t.string "encrypted_password", :limit => 128, :default => "", :null => false
34
- t.string "confirmation_token"
35
- t.datetime "confirmed_at"
36
- t.datetime "confirmation_sent_at"
35
+ t.string "email", default: "", null: false
36
+ t.string "encrypted_password", default: "", null: false
37
37
  t.string "reset_password_token"
38
+ t.datetime "reset_password_sent_at"
38
39
  t.datetime "remember_created_at"
39
- t.integer "sign_in_count", :default => 0
40
+ t.integer "sign_in_count", default: 0
40
41
  t.datetime "current_sign_in_at"
41
42
  t.datetime "last_sign_in_at"
42
43
  t.string "current_sign_in_ip"
43
44
  t.string "last_sign_in_ip"
44
- t.integer "failed_attempts", :default => 0
45
+ t.string "confirmation_token"
46
+ t.datetime "confirmed_at"
47
+ t.datetime "confirmation_sent_at"
48
+ t.integer "failed_attempts", default: 0
45
49
  t.string "unlock_token"
46
50
  t.datetime "locked_at"
47
51
  t.datetime "created_at"
@@ -4,11 +4,11 @@ module SharedAdmin
4
4
  included do
5
5
  devise :database_authenticatable, :registerable,
6
6
  :timeoutable, :recoverable, :lockable, :confirmable,
7
- :unlock_strategy => :time, :lock_strategy => :none,
8
- :allow_unconfirmed_access_for => 2.weeks, :reconfirmable => true
7
+ unlock_strategy: :time, lock_strategy: :none,
8
+ allow_unconfirmed_access_for: 2.weeks, reconfirmable: true
9
9
 
10
- validates_length_of :reset_password_token, :minimum => 3, :allow_blank => true
11
- validates_uniqueness_of :email, :allow_blank => true, :if => :email_changed?
10
+ validates_length_of :reset_password_token, minimum: 3, allow_blank: true
11
+ validates_uniqueness_of :email, allow_blank: true, if: :email_changed?
12
12
  end
13
13
 
14
14
  def raw_confirmation_token
@@ -4,7 +4,7 @@ module SharedUser
4
4
  included do
5
5
  devise :database_authenticatable, :confirmable, :lockable, :recoverable,
6
6
  :registerable, :rememberable, :timeoutable,
7
- :trackable, :validatable, :omniauthable
7
+ :trackable, :validatable, :omniauthable, password_length: 7..128
8
8
 
9
9
  attr_accessor :other_key
10
10
 
@@ -0,0 +1,13 @@
1
+ module SharedUserWithoutOmniauth
2
+ extend ActiveSupport::Concern
3
+
4
+ included do
5
+ devise :database_authenticatable, :confirmable, :lockable, :recoverable,
6
+ :registerable, :rememberable, :timeoutable,
7
+ :trackable, :validatable
8
+ end
9
+
10
+ def raw_confirmation_token
11
+ @raw_confirmation_token
12
+ end
13
+ end