devise-security 0.14.3 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +114 -58
  3. data/app/controllers/devise/password_expired_controller.rb +10 -1
  4. data/app/views/devise/paranoid_verification_code/show.html.erb +3 -3
  5. data/app/views/devise/password_expired/show.html.erb +5 -5
  6. data/config/locales/by.yml +48 -0
  7. data/config/locales/cs.yml +40 -0
  8. data/config/locales/de.yml +12 -2
  9. data/config/locales/en.yml +12 -1
  10. data/config/locales/es.yml +9 -9
  11. data/config/locales/fa.yml +40 -0
  12. data/config/locales/hi.yml +41 -0
  13. data/config/locales/it.yml +34 -4
  14. data/config/locales/ja.yml +1 -1
  15. data/config/locales/nl.yml +40 -0
  16. data/config/locales/pt.yml +40 -0
  17. data/config/locales/ru.yml +48 -0
  18. data/config/locales/uk.yml +48 -0
  19. data/config/locales/zh_CN.yml +40 -0
  20. data/config/locales/zh_TW.yml +40 -0
  21. data/lib/devise-security/controllers/helpers.rb +59 -50
  22. data/lib/devise-security/hooks/password_expirable.rb +2 -0
  23. data/lib/devise-security/hooks/session_limitable.rb +13 -7
  24. data/lib/devise-security/models/password_expirable.rb +5 -1
  25. data/lib/devise-security/models/session_limitable.rb +8 -1
  26. data/lib/devise-security/validators/password_complexity_validator.rb +4 -2
  27. data/lib/devise-security/version.rb +1 -1
  28. data/lib/generators/devise_security/install_generator.rb +2 -2
  29. data/test/controllers/test_password_expired_controller.rb +111 -16
  30. data/test/dummy/app/assets/config/manifest.js +3 -0
  31. data/test/dummy/config/routes.rb +3 -3
  32. data/test/dummy/log/test.log +1799 -0
  33. data/test/integration/test_password_expirable_workflow.rb +57 -0
  34. data/test/orm/active_record.rb +4 -1
  35. data/test/support/integration_helpers.rb +1 -1
  36. data/test/test_complexity_validator.rb +12 -0
  37. data/test/test_helper.rb +10 -3
  38. data/test/test_install_generator.rb +10 -0
  39. data/test/test_session_limitable.rb +17 -0
  40. data/test/tmp/config/initializers/devise-security.rb +44 -0
  41. data/test/tmp/config/locales/devise.security_extension.de.yml +38 -0
  42. data/test/tmp/config/locales/devise.security_extension.en.yml +40 -0
  43. data/test/tmp/config/locales/devise.security_extension.es.yml +29 -0
  44. data/test/tmp/config/locales/devise.security_extension.fa.yml +40 -0
  45. data/test/tmp/config/locales/devise.security_extension.fr.yml +29 -0
  46. data/test/tmp/config/locales/devise.security_extension.it.yml +40 -0
  47. data/test/tmp/config/locales/devise.security_extension.ja.yml +29 -0
  48. data/test/tmp/config/locales/devise.security_extension.nl.yml +40 -0
  49. data/test/tmp/config/locales/devise.security_extension.pt.yml +40 -0
  50. data/test/tmp/config/locales/devise.security_extension.ru.yml +48 -0
  51. data/test/tmp/config/locales/devise.security_extension.tr.yml +17 -0
  52. data/test/tmp/config/locales/devise.security_extension.uk.yml +48 -0
  53. data/test/tmp/config/locales/devise.security_extension.zh_CN.yml +40 -0
  54. metadata +152 -118
  55. data/.codeclimate.yml +0 -63
  56. data/.document +0 -5
  57. data/.gitignore +0 -43
  58. data/.mdlrc +0 -1
  59. data/.rubocop.yml +0 -64
  60. data/.ruby-version +0 -1
  61. data/.travis.yml +0 -39
  62. data/Appraisals +0 -35
  63. data/Gemfile +0 -10
  64. data/Rakefile +0 -27
  65. data/devise-security.gemspec +0 -50
  66. data/gemfiles/rails_4.2_stable.gemfile +0 -16
  67. data/gemfiles/rails_5.0_stable.gemfile +0 -15
  68. data/gemfiles/rails_5.1_stable.gemfile +0 -15
  69. data/gemfiles/rails_5.2_stable.gemfile +0 -15
  70. data/gemfiles/rails_6.0_beta.gemfile +0 -15
  71. data/test/dummy/app/models/.gitkeep +0 -0
@@ -0,0 +1,29 @@
1
+ ja:
2
+ errors:
3
+ messages:
4
+ taken_in_past: 'は既に使われています。'
5
+ equal_to_current_password: 'は現在のパスワードと異なるものである必要があります。'
6
+ password_complexity:
7
+ digit:
8
+ one: は最低1つの数字を含む必要があります。
9
+ other: は最低%{count}つの数字を含む必要があります。
10
+ lower:
11
+ one: は最低1つの小文字英字を含む必要があります。
12
+ other: は最低%{count}つの小文字英字を含む必要があります。
13
+ symbol:
14
+ one: は最低1つの記号を含む必要があります。
15
+ other: は最低%{count}つの記号を含む必要があります。
16
+ upper:
17
+ one: は最低1つの大文字英字を含む必要があります。
18
+ other: は最低%{count}つの大文字英字を含む必要があります。
19
+ devise:
20
+ invalid_captcha: 'キャプチャ入力が不正です。'
21
+ invalid_security_question: 'セキュリティ質問に対する回答が不正です。'
22
+ paranoid_verify:
23
+ code_required: 'サポートチームに提供された認証コードを入力してください。'
24
+ password_expired:
25
+ updated: '新しいパスワードが保存されました。'
26
+ change_required: 'パスワードが期限切れです。パスワードを新しく設定してください。'
27
+ failure:
28
+ session_limited: '他のブラウザでログインされました。このブラウザで続ける場合は、もう一度サインインしてください。'
29
+ expired: '活動がなかったため、あなたのアカウントは期限切れとなりました。サイト管理者に連絡してください。'
@@ -0,0 +1,40 @@
1
+ nl:
2
+ errors:
3
+ messages:
4
+ taken_in_past: is eerder gebruikt.
5
+ equal_to_current_password: moet verschillen van het huidige wachtwoord.
6
+ password_complexity:
7
+ digit:
8
+ one: moet minimaal 1 cijfer bevatten
9
+ other: moet minimaal %{count} cijfers bevatten
10
+ lower:
11
+ one: moet minimaal 1 kleine letter bevatten
12
+ other: moet minimaal %{count} kleine letters bevatten
13
+ symbol:
14
+ one: moet minimaal 1 leesteken of symbool bevatten
15
+ other: moet minimaal %{count} leestekens of symbolen bevatten
16
+ upper:
17
+ one: moet minimaal 1 hoofdletter bevatten
18
+ other: moet minimaal %{count} hoofdletters bevatten
19
+ devise:
20
+ invalid_captcha: De captcha invoer was ongeldig.
21
+ invalid_security_question: Het antwoord op de beveiligingsvraag was niet correct.
22
+ paranoid_verify:
23
+ code_required: Voer de aangeleverde code in
24
+ paranoid_verification_code:
25
+ show:
26
+ submit_verification_code: Verstuur verificatie code
27
+ verification_code: Verificatie code
28
+ submit: Verstuur
29
+ password_expired:
30
+ updated: Het nieuwe wachtwoord is opgeslagen.
31
+ change_required: Het wachtwoord is verlopen. Vernieuw je wachtwoord.
32
+ show:
33
+ renew_your_password: Vernieuw je wachtwoord
34
+ current_password: Huidig wachtwoord
35
+ new_password: Nieuw wachtwoord
36
+ new_password_confirmation: Bevestig het nieuwe wachtwoord
37
+ change_my_password: Verander mijn wachtwoord
38
+ failure:
39
+ session_limited: Je login is in een andere browser gebruikt. Log hier opnieuw in.
40
+ expired: Je account is verlopen. Neem contact op met de site beheerder.
@@ -0,0 +1,40 @@
1
+ pt:
2
+ errors:
3
+ messages:
4
+ taken_in_past: 'foi usada anteriormente.'
5
+ equal_to_current_password: 'deve ser diferente da senha atual.'
6
+ password_complexity:
7
+ digit:
8
+ one: deve conter ao menos um dígito
9
+ other: deve conter ao menos %{count} dígitos
10
+ lower:
11
+ one: deve conter ao menos uma letra minúscula
12
+ other: deve conter ao menos %{count} letras minúsculas
13
+ symbol:
14
+ one: deve conter ao menos um símbolo
15
+ other: deve conter ao menos %{count} símbolos
16
+ upper:
17
+ one: deve conter ao menos uma letra maiúscula
18
+ other: deve conter ao menos %{count} letras maiúsculas
19
+ devise:
20
+ invalid_captcha: 'O captcha está errado.'
21
+ invalid_security_question: 'A resposta da pergunta de segurança está errada.'
22
+ paranoid_verify:
23
+ code_required: 'Por favor entre o código que a equipe de suporte enviou'
24
+ paranoid_verification_code:
25
+ show:
26
+ submit_verification_code: Enviar código de verificação
27
+ verification_code: Código de verificação
28
+ submit: Enviar
29
+ password_expired:
30
+ updated: 'A nova senha foi salva.'
31
+ change_required: 'Sua senha expirou. Renove sua senha por favor.'
32
+ show:
33
+ renew_your_password: Renove sua senha
34
+ current_password: Senha atual
35
+ new_password: Senha nova
36
+ new_password_confirmation: Confirmar senha nova
37
+ change_my_password: Mudar minha senha
38
+ failure:
39
+ session_limited: 'Seu login foi utilizado em outro local. Faça o login novamente para continuar.'
40
+ expired: 'Sua conta expirou por inatividade. Por favor contate o administrador do site.'
@@ -0,0 +1,48 @@
1
+ ru:
2
+ errors:
3
+ messages:
4
+ taken_in_past: 'уже ранее использовался.'
5
+ equal_to_current_password: 'должен отличаться от текущего пароля.'
6
+ password_complexity:
7
+ digit:
8
+ one: 'должен содержать хотя бы одну цифру'
9
+ few: 'должен содержать хотя бы %{count} цифры'
10
+ many: 'должен содержать хотя бы %{count} цифр'
11
+ other: 'должен содержать хотя бы %{count} цифры'
12
+ lower:
13
+ one: 'должен содержать хотя бы одну строчную букву'
14
+ few: 'должен содержать хотя бы %{count} строчные буквы'
15
+ many: 'должен содержать хотя бы %{count} строчных букв'
16
+ other: 'должен содержать хотя бы %{count} строчных букв'
17
+ symbol:
18
+ one: 'должен содержать хотя бы один знак пунктуации или символ'
19
+ few: 'должен содержать хотя бы %{count} знака пунктуации или символа'
20
+ many: 'должен содержать хотя бы %{count} знаков пунктуации или символов'
21
+ other: 'должен содержать хотя бы %{count} знаков пунктуации или символов'
22
+ upper:
23
+ one: 'должен содержать хотя бы одну прописную букву'
24
+ few: 'должен содержать хотя бы %{count} прописные буквы'
25
+ many: 'должен содержать хотя бы %{count} прописных букв'
26
+ other: 'должен содержать хотя бы %{count} прописных букв'
27
+ devise:
28
+ invalid_captcha: 'Введен неправильный код капчи.'
29
+ invalid_security_question: 'Ответ на секретный вопрос был неверным.'
30
+ paranoid_verify:
31
+ code_required: 'Пожалуйста введите код, полученный от нашей команды поддержки'
32
+ paranoid_verification_code:
33
+ show:
34
+ submit_verification_code: Ввод кода подтверждения
35
+ verification_code: Код подверждения
36
+ submit: Отправить
37
+ password_expired:
38
+ updated: 'Ваш новый пароль сохранен.'
39
+ change_required: 'Ваш пароль устарел. Пожалуйста, установите новый.'
40
+ show:
41
+ renew_your_password: Смена пароля
42
+ current_password: Текущий пароль
43
+ new_password: Новый пароль
44
+ new_password_confirmation: Подтвердите новый пароль
45
+ change_my_password: Поменять пароль
46
+ failure:
47
+ session_limited: 'Ваши параметры входа используются в другом браузере. Пожалуйста, авторизуйтесь снова, чтобы продолжить в этом браузере.'
48
+ expired: 'Ваш аккаунт устарел из-за неактивности. Пожалуйста, свяжитесь с администратором.'
@@ -0,0 +1,17 @@
1
+ tr:
2
+ errors:
3
+ messages:
4
+ taken_in_past: "daha önce kullanıldı."
5
+ equal_to_current_password: "mevcut paroladan farklı olmalı."
6
+ password_format: "büyük, küçük harfler ve sayılar içermeli."
7
+ devise:
8
+ invalid_captcha: "Captcha hatalı."
9
+ invalid_security_question: "Güvenlik sorusunun cevabı yanlış."
10
+ paranoid_verify:
11
+ code_required: "Destek ekibimizden aldığınız kodu girin."
12
+ password_expired:
13
+ updated: "Yeni parolanız kaydedildi."
14
+ change_required: "Parolanızın geçerlilik süresi dolmuş. Lütfen parolanızı yenileyin."
15
+ failure:
16
+ session_limited: 'Hesabınıza başka bir tarayıcıdan giriş yapılmış. Lütfen devam etmek için yeniden giriş yapın.'
17
+ expired: 'Hesabınız aktif olarak kullanılmadığı için artık geçerli değil. Lütfen yönetici ile irtibata geçin.'
@@ -0,0 +1,48 @@
1
+ uk:
2
+ errors:
3
+ messages:
4
+ taken_in_past: 'раніше використовувався.'
5
+ equal_to_current_password: 'має відрізнятися від поточного паролю.'
6
+ password_complexity:
7
+ digit:
8
+ one: 'повинен включати хоча б одну цифру'
9
+ few: 'повинен включати хоча б %{count} цифри'
10
+ many: 'повинен включати хоча б %{count} цифр'
11
+ other: 'повинен включати хоча б %{count} цифри'
12
+ lower:
13
+ one: 'повинен включати хоча б одну малу букву'
14
+ few: 'повинен включати хоча б %{count} малі букви'
15
+ many: 'повинен включати хоча б %{count} малих букв'
16
+ other: 'повинен включати хоча б %{count} малі букви'
17
+ symbol:
18
+ one: 'повинен включати хоча б один розділовий знак або символ'
19
+ few: 'повинен включати хоча б %{count} розділові знаки або символи'
20
+ many: 'повинен включати хоча б %{count} розділових знаків або символів'
21
+ other: 'повинен включати хоча б %{count} розділові знаки або символи'
22
+ upper:
23
+ one: 'повинен включати хоча б одну прописну букву'
24
+ few: 'повинен включати хоча б %{count} прописні букви'
25
+ many: 'повинен включати хоча б %{count} прописних букв'
26
+ other: 'повинен включати хоча б %{count} прописні букви'
27
+ devise:
28
+ invalid_captcha: 'Введення капчі недійсне.'
29
+ invalid_security_question: 'Неправильна відповідь на секретне питання.'
30
+ paranoid_verify:
31
+ code_required: 'Введіть, будь ласка, код від нашої команди підтримки'
32
+ paranoid_verification_code:
33
+ show:
34
+ submit_verification_code: Відправити код підтвердження
35
+ verification_code: Код підтвердження
36
+ submit: Відправити
37
+ password_expired:
38
+ updated: 'Ваш новий пароль збережено.'
39
+ change_required: 'Ваш пароль застарілий. Будь ласка, оновіть пароль.'
40
+ show:
41
+ renew_your_password: Оновити свій пароль
42
+ current_password: Теперішній пароль
43
+ new_password: Новий пароль
44
+ new_password_confirmation: Підтвердити новий пароль
45
+ change_my_password: Змінити пароль
46
+ failure:
47
+ session_limited: 'Ваші облікові дані були використані в іншому браузері. Будь ласка, авторизуйтесь знову щоб продовжити в цьому браузері.'
48
+ expired: "Ваш аккаунт застарів через неактивність. Будь ласка, зв'яжіться з адміністратором."
@@ -0,0 +1,40 @@
1
+ zh_CN:
2
+ errors:
3
+ messages:
4
+ taken_in_past: '曾被使用过。'
5
+ equal_to_current_password: '必须与当前密码不同。'
6
+ password_complexity:
7
+ digit:
8
+ one: 必须包含至少1个数字
9
+ other: 必须包含至少%{count}个数字
10
+ lower:
11
+ one: 必须包含至少1个小写字母
12
+ other: 必须包含至少%{count}个小写字母
13
+ symbol:
14
+ one: 必须包含至少1个特殊符号(!"#$%&'()*+,-./:;<=>?@[\]^_‘{|}~)
15
+ other: 必须包含至少%{count}个特殊符号(!"#$%&'()*+,-./:;<=>?@[\]^_‘{|}~)
16
+ upper:
17
+ one: 必须包含至少1个大写字母
18
+ other: 必须包含至少%{count}个大写字母
19
+ devise:
20
+ invalid_captcha: '验证码无效。'
21
+ invalid_security_question: '安全问题答案无效。'
22
+ paranoid_verify:
23
+ code_required: '请输入我们支持团队提供的代码'
24
+ paranoid_verification_code:
25
+ show:
26
+ submit_verification_code: 提交验证码
27
+ verification_code: 验证码
28
+ submit: 提交
29
+ password_expired:
30
+ updated: '你的新密码已保存。'
31
+ change_required: '你的密码已过期,请更新密码。'
32
+ show:
33
+ renew_your_password: 更新你的密码
34
+ current_password: 当前密码
35
+ new_password: 新密码
36
+ new_password_confirmation: 确认新密码
37
+ change_my_password: 更改密码
38
+ failure:
39
+ session_limited: '你的登录凭据已在另一个浏览器上被使用。请重新登录以在此浏览器继续。'
40
+ expired: '由于不活跃,你的账户已过期。请联系站点管理员。'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise-security
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.3
4
+ version: 0.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marco Scholl
@@ -9,53 +9,47 @@ authors:
9
9
  - Nate Bird
10
10
  - Dillon Welch
11
11
  - Kevin Olbrich
12
- autorequire:
12
+ autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2019-05-26 00:00:00.000000000 Z
15
+ date: 2021-01-13 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
- name: rails
18
+ name: devise
19
19
  requirement: !ruby/object:Gem::Requirement
20
20
  requirements:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: 4.2.0
23
+ version: 4.3.0
24
24
  - - "<"
25
25
  - !ruby/object:Gem::Version
26
- version: '7.0'
26
+ version: '5.0'
27
27
  type: :runtime
28
28
  prerelease: false
29
29
  version_requirements: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 4.2.0
33
+ version: 4.3.0
34
34
  - - "<"
35
35
  - !ruby/object:Gem::Version
36
- version: '7.0'
36
+ version: '5.0'
37
37
  - !ruby/object:Gem::Dependency
38
- name: devise
38
+ name: appraisal
39
39
  requirement: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: 4.3.0
44
- - - "<"
45
- - !ruby/object:Gem::Version
46
- version: '5.0'
47
- type: :runtime
43
+ version: '0'
44
+ type: :development
48
45
  prerelease: false
49
46
  version_requirements: !ruby/object:Gem::Requirement
50
47
  requirements:
51
48
  - - ">="
52
49
  - !ruby/object:Gem::Version
53
- version: 4.3.0
54
- - - "<"
55
- - !ruby/object:Gem::Version
56
- version: '5.0'
50
+ version: '0'
57
51
  - !ruby/object:Gem::Dependency
58
- name: appraisal
52
+ name: bundler
59
53
  requirement: !ruby/object:Gem::Requirement
60
54
  requirements:
61
55
  - - ">="
@@ -69,7 +63,7 @@ dependencies:
69
63
  - !ruby/object:Gem::Version
70
64
  version: '0'
71
65
  - !ruby/object:Gem::Dependency
72
- name: bundler
66
+ name: database_cleaner
73
67
  requirement: !ruby/object:Gem::Requirement
74
68
  requirements:
75
69
  - - ">="
@@ -83,7 +77,7 @@ dependencies:
83
77
  - !ruby/object:Gem::Version
84
78
  version: '0'
85
79
  - !ruby/object:Gem::Dependency
86
- name: coveralls
80
+ name: easy_captcha
87
81
  requirement: !ruby/object:Gem::Requirement
88
82
  requirements:
89
83
  - - ">="
@@ -97,7 +91,7 @@ dependencies:
97
91
  - !ruby/object:Gem::Version
98
92
  version: '0'
99
93
  - !ruby/object:Gem::Dependency
100
- name: database_cleaner
94
+ name: m
101
95
  requirement: !ruby/object:Gem::Requirement
102
96
  requirements:
103
97
  - - ">="
@@ -111,7 +105,7 @@ dependencies:
111
105
  - !ruby/object:Gem::Version
112
106
  version: '0'
113
107
  - !ruby/object:Gem::Dependency
114
- name: easy_captcha
108
+ name: minitest
115
109
  requirement: !ruby/object:Gem::Requirement
116
110
  requirements:
117
111
  - - ">="
@@ -125,7 +119,7 @@ dependencies:
125
119
  - !ruby/object:Gem::Version
126
120
  version: '0'
127
121
  - !ruby/object:Gem::Dependency
128
- name: m
122
+ name: omniauth
129
123
  requirement: !ruby/object:Gem::Requirement
130
124
  requirements:
131
125
  - - ">="
@@ -139,7 +133,7 @@ dependencies:
139
133
  - !ruby/object:Gem::Version
140
134
  version: '0'
141
135
  - !ruby/object:Gem::Dependency
142
- name: minitest
136
+ name: pry-byebug
143
137
  requirement: !ruby/object:Gem::Requirement
144
138
  requirements:
145
139
  - - ">="
@@ -153,7 +147,7 @@ dependencies:
153
147
  - !ruby/object:Gem::Version
154
148
  version: '0'
155
149
  - !ruby/object:Gem::Dependency
156
- name: omniauth
150
+ name: pry-rescue
157
151
  requirement: !ruby/object:Gem::Requirement
158
152
  requirements:
159
153
  - - ">="
@@ -167,7 +161,7 @@ dependencies:
167
161
  - !ruby/object:Gem::Version
168
162
  version: '0'
169
163
  - !ruby/object:Gem::Dependency
170
- name: pry-byebug
164
+ name: rails_email_validator
171
165
  requirement: !ruby/object:Gem::Requirement
172
166
  requirements:
173
167
  - - ">="
@@ -181,7 +175,21 @@ dependencies:
181
175
  - !ruby/object:Gem::Version
182
176
  version: '0'
183
177
  - !ruby/object:Gem::Dependency
184
- name: pry-rescue
178
+ name: rubocop
179
+ requirement: !ruby/object:Gem::Requirement
180
+ requirements:
181
+ - - "~>"
182
+ - !ruby/object:Gem::Version
183
+ version: 0.80.0
184
+ type: :development
185
+ prerelease: false
186
+ version_requirements: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - "~>"
189
+ - !ruby/object:Gem::Version
190
+ version: 0.80.0
191
+ - !ruby/object:Gem::Dependency
192
+ name: rubocop-rails
185
193
  requirement: !ruby/object:Gem::Requirement
186
194
  requirements:
187
195
  - - ">="
@@ -195,7 +203,7 @@ dependencies:
195
203
  - !ruby/object:Gem::Version
196
204
  version: '0'
197
205
  - !ruby/object:Gem::Dependency
198
- name: rails_email_validator
206
+ name: simplecov-lcov
199
207
  requirement: !ruby/object:Gem::Requirement
200
208
  requirements:
201
209
  - - ">="
@@ -209,19 +217,19 @@ dependencies:
209
217
  - !ruby/object:Gem::Version
210
218
  version: '0'
211
219
  - !ruby/object:Gem::Dependency
212
- name: rubocop
220
+ name: solargraph
213
221
  requirement: !ruby/object:Gem::Requirement
214
222
  requirements:
215
- - - "~>"
223
+ - - ">="
216
224
  - !ruby/object:Gem::Version
217
- version: 0.66.0
225
+ version: '0'
218
226
  type: :development
219
227
  prerelease: false
220
228
  version_requirements: !ruby/object:Gem::Requirement
221
229
  requirements:
222
- - - "~>"
230
+ - - ">="
223
231
  - !ruby/object:Gem::Version
224
- version: 0.66.0
232
+ version: '0'
225
233
  - !ruby/object:Gem::Dependency
226
234
  name: sqlite3
227
235
  requirement: !ruby/object:Gem::Requirement
@@ -256,35 +264,29 @@ executables: []
256
264
  extensions: []
257
265
  extra_rdoc_files: []
258
266
  files:
259
- - ".codeclimate.yml"
260
- - ".document"
261
- - ".gitignore"
262
- - ".mdlrc"
263
- - ".rubocop.yml"
264
- - ".ruby-version"
265
- - ".travis.yml"
266
- - Appraisals
267
- - Gemfile
268
267
  - LICENSE.txt
269
268
  - README.md
270
- - Rakefile
271
269
  - app/controllers/devise/paranoid_verification_code_controller.rb
272
270
  - app/controllers/devise/password_expired_controller.rb
273
271
  - app/views/devise/paranoid_verification_code/show.html.erb
274
272
  - app/views/devise/password_expired/show.html.erb
273
+ - config/locales/by.yml
274
+ - config/locales/cs.yml
275
275
  - config/locales/de.yml
276
276
  - config/locales/en.yml
277
277
  - config/locales/es.yml
278
+ - config/locales/fa.yml
278
279
  - config/locales/fr.yml
280
+ - config/locales/hi.yml
279
281
  - config/locales/it.yml
280
282
  - config/locales/ja.yml
283
+ - config/locales/nl.yml
284
+ - config/locales/pt.yml
285
+ - config/locales/ru.yml
281
286
  - config/locales/tr.yml
282
- - devise-security.gemspec
283
- - gemfiles/rails_4.2_stable.gemfile
284
- - gemfiles/rails_5.0_stable.gemfile
285
- - gemfiles/rails_5.1_stable.gemfile
286
- - gemfiles/rails_5.2_stable.gemfile
287
- - gemfiles/rails_6.0_beta.gemfile
287
+ - config/locales/uk.yml
288
+ - config/locales/zh_CN.yml
289
+ - config/locales/zh_TW.yml
288
290
  - lib/devise-security.rb
289
291
  - lib/devise-security/controllers/helpers.rb
290
292
  - lib/devise-security/hooks/expirable.rb
@@ -328,12 +330,12 @@ files:
328
330
  - test/controllers/test_password_expired_controller.rb
329
331
  - test/controllers/test_security_question_controller.rb
330
332
  - test/dummy/Rakefile
333
+ - test/dummy/app/assets/config/manifest.js
331
334
  - test/dummy/app/controllers/application_controller.rb
332
335
  - test/dummy/app/controllers/captcha/sessions_controller.rb
333
336
  - test/dummy/app/controllers/foos_controller.rb
334
337
  - test/dummy/app/controllers/security_question/unlocks_controller.rb
335
338
  - test/dummy/app/controllers/widgets_controller.rb
336
- - test/dummy/app/models/.gitkeep
337
339
  - test/dummy/app/models/application_record.rb
338
340
  - test/dummy/app/models/application_user_record.rb
339
341
  - test/dummy/app/models/captcha_user.rb
@@ -394,6 +396,8 @@ files:
394
396
  - test/dummy/lib/shared_user_without_email.rb
395
397
  - test/dummy/lib/shared_user_without_omniauth.rb
396
398
  - test/dummy/lib/shared_verification_fields.rb
399
+ - test/dummy/log/test.log
400
+ - test/integration/test_password_expirable_workflow.rb
397
401
  - test/integration/test_session_limitable_workflow.rb
398
402
  - test/orm/active_record.rb
399
403
  - test/orm/mongoid.rb
@@ -408,11 +412,26 @@ files:
408
412
  - test/test_password_expirable.rb
409
413
  - test/test_secure_validatable.rb
410
414
  - test/test_session_limitable.rb
415
+ - test/tmp/config/initializers/devise-security.rb
416
+ - test/tmp/config/locales/devise.security_extension.de.yml
417
+ - test/tmp/config/locales/devise.security_extension.en.yml
418
+ - test/tmp/config/locales/devise.security_extension.es.yml
419
+ - test/tmp/config/locales/devise.security_extension.fa.yml
420
+ - test/tmp/config/locales/devise.security_extension.fr.yml
421
+ - test/tmp/config/locales/devise.security_extension.it.yml
422
+ - test/tmp/config/locales/devise.security_extension.ja.yml
423
+ - test/tmp/config/locales/devise.security_extension.nl.yml
424
+ - test/tmp/config/locales/devise.security_extension.pt.yml
425
+ - test/tmp/config/locales/devise.security_extension.ru.yml
426
+ - test/tmp/config/locales/devise.security_extension.tr.yml
427
+ - test/tmp/config/locales/devise.security_extension.uk.yml
428
+ - test/tmp/config/locales/devise.security_extension.zh_CN.yml
411
429
  homepage: https://github.com/devise-security/devise-security
412
430
  licenses:
413
431
  - MIT
414
432
  metadata: {}
415
- post_install_message:
433
+ post_install_message: 'WARNING: devise-security will drop support for Rails 4.2 in
434
+ version 0.16.0'
416
435
  rdoc_options: []
417
436
  require_paths:
418
437
  - lib
@@ -427,93 +446,108 @@ required_rubygems_version: !ruby/object:Gem::Requirement
427
446
  - !ruby/object:Gem::Version
428
447
  version: '0'
429
448
  requirements: []
430
- rubyforge_project:
431
- rubygems_version: 2.7.9
432
- signing_key:
449
+ rubygems_version: 3.0.8
450
+ signing_key:
433
451
  specification_version: 4
434
452
  summary: Security extension for devise
435
453
  test_files:
436
- - test/controllers/test_captcha_controller.rb
437
- - test/controllers/test_password_expired_controller.rb
438
- - test/controllers/test_security_question_controller.rb
439
- - test/dummy/Rakefile
440
- - test/dummy/app/controllers/application_controller.rb
441
- - test/dummy/app/controllers/captcha/sessions_controller.rb
442
- - test/dummy/app/controllers/foos_controller.rb
443
- - test/dummy/app/controllers/security_question/unlocks_controller.rb
444
- - test/dummy/app/controllers/widgets_controller.rb
445
- - test/dummy/app/models/.gitkeep
446
- - test/dummy/app/models/application_record.rb
447
- - test/dummy/app/models/application_user_record.rb
448
- - test/dummy/app/models/captcha_user.rb
449
- - test/dummy/app/models/mongoid/confirmable_fields.rb
450
- - test/dummy/app/models/mongoid/database_authenticable_fields.rb
451
- - test/dummy/app/models/mongoid/expirable_fields.rb
452
- - test/dummy/app/models/mongoid/lockable_fields.rb
454
+ - test/test_password_archivable.rb
455
+ - test/dummy/app/mongoid/shim.rb
456
+ - test/dummy/app/mongoid/user_on_main_app.rb
457
+ - test/dummy/app/mongoid/user_on_engine.rb
458
+ - test/dummy/app/mongoid/one_user.rb
459
+ - test/dummy/app/mongoid/admin.rb
460
+ - test/dummy/app/mongoid/user_with_validations.rb
461
+ - test/dummy/app/mongoid/user_without_email.rb
462
+ - test/dummy/app/models/mongoid/password_archivable_fields.rb
463
+ - test/dummy/app/models/mongoid/registerable_fields.rb
453
464
  - test/dummy/app/models/mongoid/mappings.rb
454
- - test/dummy/app/models/mongoid/omniauthable_fields.rb
465
+ - test/dummy/app/models/mongoid/session_limitable_fields.rb
466
+ - test/dummy/app/models/mongoid/timeoutable_fields.rb
455
467
  - test/dummy/app/models/mongoid/paranoid_verification_fields.rb
456
- - test/dummy/app/models/mongoid/password_archivable_fields.rb
468
+ - test/dummy/app/models/mongoid/confirmable_fields.rb
457
469
  - test/dummy/app/models/mongoid/password_expirable_fields.rb
458
- - test/dummy/app/models/mongoid/recoverable_fields.rb
459
- - test/dummy/app/models/mongoid/registerable_fields.rb
460
- - test/dummy/app/models/mongoid/rememberable_fields.rb
470
+ - test/dummy/app/models/mongoid/expirable_fields.rb
471
+ - test/dummy/app/models/mongoid/database_authenticable_fields.rb
461
472
  - test/dummy/app/models/mongoid/secure_validatable_fields.rb
473
+ - test/dummy/app/models/mongoid/rememberable_fields.rb
474
+ - test/dummy/app/models/mongoid/lockable_fields.rb
462
475
  - test/dummy/app/models/mongoid/security_questionable_fields.rb
463
- - test/dummy/app/models/mongoid/session_limitable_fields.rb
464
- - test/dummy/app/models/mongoid/timeoutable_fields.rb
465
- - test/dummy/app/models/mongoid/trackable_fields.rb
466
476
  - test/dummy/app/models/mongoid/validatable_fields.rb
467
- - test/dummy/app/models/secure_user.rb
477
+ - test/dummy/app/models/mongoid/trackable_fields.rb
478
+ - test/dummy/app/models/mongoid/recoverable_fields.rb
479
+ - test/dummy/app/models/mongoid/omniauthable_fields.rb
468
480
  - test/dummy/app/models/security_question_user.rb
469
- - test/dummy/app/models/user.rb
481
+ - test/dummy/app/models/application_user_record.rb
482
+ - test/dummy/app/models/secure_user.rb
470
483
  - test/dummy/app/models/widget.rb
471
- - test/dummy/app/mongoid/admin.rb
472
- - test/dummy/app/mongoid/one_user.rb
473
- - test/dummy/app/mongoid/shim.rb
474
- - test/dummy/app/mongoid/user_on_engine.rb
475
- - test/dummy/app/mongoid/user_on_main_app.rb
476
- - test/dummy/app/mongoid/user_with_validations.rb
477
- - test/dummy/app/mongoid/user_without_email.rb
484
+ - test/dummy/app/models/application_record.rb
485
+ - test/dummy/app/models/captcha_user.rb
486
+ - test/dummy/app/models/user.rb
487
+ - test/dummy/app/controllers/application_controller.rb
488
+ - test/dummy/app/controllers/captcha/sessions_controller.rb
489
+ - test/dummy/app/controllers/foos_controller.rb
490
+ - test/dummy/app/controllers/widgets_controller.rb
491
+ - test/dummy/app/controllers/security_question/unlocks_controller.rb
478
492
  - test/dummy/app/views/foos/index.html.erb
479
- - test/dummy/config.ru
493
+ - test/dummy/app/assets/config/manifest.js
494
+ - test/dummy/config/secrets.yml
495
+ - test/dummy/config/routes.rb
496
+ - test/dummy/config/mongoid.yml
497
+ - test/dummy/config/environments/test.rb
498
+ - test/dummy/config/environment.rb
480
499
  - test/dummy/config/application.rb
481
- - test/dummy/config/boot.rb
482
500
  - test/dummy/config/database.yml
483
- - test/dummy/config/environment.rb
484
- - test/dummy/config/environments/test.rb
485
- - test/dummy/config/initializers/devise.rb
501
+ - test/dummy/config/boot.rb
486
502
  - test/dummy/config/initializers/migration_class.rb
487
- - test/dummy/config/mongoid.yml
488
- - test/dummy/config/routes.rb
489
- - test/dummy/config/secrets.yml
503
+ - test/dummy/config/initializers/devise.rb
504
+ - test/dummy/config.ru
505
+ - test/dummy/Rakefile
506
+ - test/dummy/lib/shared_verification_fields.rb
507
+ - test/dummy/lib/shared_user.rb
508
+ - test/dummy/lib/shared_user_without_email.rb
509
+ - test/dummy/lib/shared_user_without_omniauth.rb
510
+ - test/dummy/lib/shared_user_with_password_verification.rb
511
+ - test/dummy/lib/shared_expirable_columns.rb
512
+ - test/dummy/lib/shared_security_questions_fields.rb
490
513
  - test/dummy/db/migrate/20120508165529_create_tables.rb
491
514
  - test/dummy/db/migrate/20150402165590_add_verification_columns.rb
492
- - test/dummy/db/migrate/20150407162345_add_verification_attempt_column.rb
515
+ - test/dummy/db/migrate/20180318111336_add_recoverable_columns.rb
516
+ - test/dummy/db/migrate/20180318105732_add_rememberable_columns.rb
493
517
  - test/dummy/db/migrate/20160320162345_add_security_questions_fields.rb
518
+ - test/dummy/db/migrate/20180319114023_add_widget.rb
494
519
  - test/dummy/db/migrate/20180318103603_add_expireable_columns.rb
520
+ - test/dummy/db/migrate/20150407162345_add_verification_attempt_column.rb
495
521
  - test/dummy/db/migrate/20180318105329_add_confirmable_columns.rb
496
- - test/dummy/db/migrate/20180318105732_add_rememberable_columns.rb
497
- - test/dummy/db/migrate/20180318111336_add_recoverable_columns.rb
498
- - test/dummy/db/migrate/20180319114023_add_widget.rb
499
- - test/dummy/lib/shared_expirable_columns.rb
500
- - test/dummy/lib/shared_security_questions_fields.rb
501
- - test/dummy/lib/shared_user.rb
502
- - test/dummy/lib/shared_user_with_password_verification.rb
503
- - test/dummy/lib/shared_user_without_email.rb
504
- - test/dummy/lib/shared_user_without_omniauth.rb
505
- - test/dummy/lib/shared_verification_fields.rb
506
- - test/integration/test_session_limitable_workflow.rb
507
- - test/orm/active_record.rb
508
- - test/orm/mongoid.rb
509
- - test/support/integration_helpers.rb
510
- - test/support/mongoid.yml
511
- - test/test_compatibility.rb
512
- - test/test_complexity_validator.rb
513
- - test/test_helper.rb
522
+ - test/dummy/log/test.log
514
523
  - test/test_install_generator.rb
515
524
  - test/test_paranoid_verification.rb
516
- - test/test_password_archivable.rb
517
- - test/test_password_expirable.rb
525
+ - test/integration/test_session_limitable_workflow.rb
526
+ - test/integration/test_password_expirable_workflow.rb
518
527
  - test/test_secure_validatable.rb
519
528
  - test/test_session_limitable.rb
529
+ - test/support/mongoid.yml
530
+ - test/support/integration_helpers.rb
531
+ - test/test_helper.rb
532
+ - test/orm/mongoid.rb
533
+ - test/orm/active_record.rb
534
+ - test/test_compatibility.rb
535
+ - test/test_password_expirable.rb
536
+ - test/controllers/test_security_question_controller.rb
537
+ - test/controllers/test_captcha_controller.rb
538
+ - test/controllers/test_password_expired_controller.rb
539
+ - test/tmp/config/locales/devise.security_extension.nl.yml
540
+ - test/tmp/config/locales/devise.security_extension.tr.yml
541
+ - test/tmp/config/locales/devise.security_extension.ru.yml
542
+ - test/tmp/config/locales/devise.security_extension.fr.yml
543
+ - test/tmp/config/locales/devise.security_extension.fa.yml
544
+ - test/tmp/config/locales/devise.security_extension.ja.yml
545
+ - test/tmp/config/locales/devise.security_extension.en.yml
546
+ - test/tmp/config/locales/devise.security_extension.pt.yml
547
+ - test/tmp/config/locales/devise.security_extension.it.yml
548
+ - test/tmp/config/locales/devise.security_extension.de.yml
549
+ - test/tmp/config/locales/devise.security_extension.es.yml
550
+ - test/tmp/config/locales/devise.security_extension.zh_CN.yml
551
+ - test/tmp/config/locales/devise.security_extension.uk.yml
552
+ - test/tmp/config/initializers/devise-security.rb
553
+ - test/test_complexity_validator.rb