authlogic 3.8.0 → 4.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (143) hide show
  1. checksums.yaml +7 -0
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +28 -0
  3. data/.github/ISSUE_TEMPLATE/feature_proposal.md +32 -0
  4. data/.github/triage.md +86 -0
  5. data/.gitignore +4 -3
  6. data/.rubocop.yml +109 -9
  7. data/.rubocop_todo.yml +38 -355
  8. data/.travis.yml +11 -35
  9. data/CHANGELOG.md +345 -2
  10. data/CONTRIBUTING.md +45 -14
  11. data/Gemfile +3 -2
  12. data/README.md +244 -90
  13. data/Rakefile +10 -10
  14. data/UPGRADING.md +22 -0
  15. data/authlogic.gemspec +34 -21
  16. data/doc/use_normal_rails_validation.md +82 -0
  17. data/gemfiles/Gemfile.rails-4.2.x +6 -0
  18. data/{test/gemfiles → gemfiles}/Gemfile.rails-5.1.x +2 -2
  19. data/{test/gemfiles → gemfiles}/Gemfile.rails-5.2.x +2 -2
  20. data/lib/authlogic/acts_as_authentic/base.rb +36 -24
  21. data/lib/authlogic/acts_as_authentic/email.rb +65 -31
  22. data/lib/authlogic/acts_as_authentic/logged_in_status.rb +14 -9
  23. data/lib/authlogic/acts_as_authentic/login.rb +61 -45
  24. data/lib/authlogic/acts_as_authentic/magic_columns.rb +6 -6
  25. data/lib/authlogic/acts_as_authentic/password.rb +267 -146
  26. data/lib/authlogic/acts_as_authentic/perishable_token.rb +24 -19
  27. data/lib/authlogic/acts_as_authentic/persistence_token.rb +10 -15
  28. data/lib/authlogic/acts_as_authentic/queries/find_with_case.rb +67 -0
  29. data/lib/authlogic/acts_as_authentic/restful_authentication.rb +50 -14
  30. data/lib/authlogic/acts_as_authentic/session_maintenance.rb +88 -60
  31. data/lib/authlogic/acts_as_authentic/single_access_token.rb +23 -11
  32. data/lib/authlogic/acts_as_authentic/validations_scope.rb +9 -6
  33. data/lib/authlogic/authenticates_many/association.rb +7 -7
  34. data/lib/authlogic/authenticates_many/base.rb +37 -21
  35. data/lib/authlogic/config.rb +21 -10
  36. data/lib/authlogic/controller_adapters/abstract_adapter.rb +38 -11
  37. data/lib/authlogic/controller_adapters/rack_adapter.rb +9 -5
  38. data/lib/authlogic/controller_adapters/rails_adapter.rb +12 -7
  39. data/lib/authlogic/controller_adapters/sinatra_adapter.rb +2 -2
  40. data/lib/authlogic/crypto_providers/aes256.rb +37 -32
  41. data/lib/authlogic/crypto_providers/bcrypt.rb +21 -15
  42. data/lib/authlogic/crypto_providers/md5.rb +4 -2
  43. data/lib/authlogic/crypto_providers/scrypt.rb +22 -17
  44. data/lib/authlogic/crypto_providers/sha1.rb +11 -5
  45. data/lib/authlogic/crypto_providers/sha256.rb +13 -9
  46. data/lib/authlogic/crypto_providers/sha512.rb +0 -21
  47. data/lib/authlogic/crypto_providers/wordpress.rb +32 -3
  48. data/lib/authlogic/crypto_providers.rb +91 -0
  49. data/lib/authlogic/i18n.rb +26 -19
  50. data/lib/authlogic/random.rb +10 -28
  51. data/lib/authlogic/regex.rb +59 -28
  52. data/lib/authlogic/session/activation.rb +10 -7
  53. data/lib/authlogic/session/active_record_trickery.rb +13 -9
  54. data/lib/authlogic/session/base.rb +15 -4
  55. data/lib/authlogic/session/brute_force_protection.rb +40 -33
  56. data/lib/authlogic/session/callbacks.rb +94 -46
  57. data/lib/authlogic/session/cookies.rb +130 -45
  58. data/lib/authlogic/session/existence.rb +21 -11
  59. data/lib/authlogic/session/foundation.rb +64 -14
  60. data/lib/authlogic/session/http_auth.rb +35 -28
  61. data/lib/authlogic/session/id.rb +9 -4
  62. data/lib/authlogic/session/klass.rb +15 -12
  63. data/lib/authlogic/session/magic_columns.rb +58 -55
  64. data/lib/authlogic/session/magic_states.rb +25 -19
  65. data/lib/authlogic/session/params.rb +42 -28
  66. data/lib/authlogic/session/password.rb +130 -120
  67. data/lib/authlogic/session/perishable_token.rb +5 -4
  68. data/lib/authlogic/session/persistence.rb +18 -12
  69. data/lib/authlogic/session/priority_record.rb +15 -12
  70. data/lib/authlogic/session/scopes.rb +51 -32
  71. data/lib/authlogic/session/session.rb +38 -28
  72. data/lib/authlogic/session/timeout.rb +13 -13
  73. data/lib/authlogic/session/unauthorized_record.rb +18 -13
  74. data/lib/authlogic/session/validation.rb +9 -9
  75. data/lib/authlogic/test_case/mock_controller.rb +5 -4
  76. data/lib/authlogic/test_case/mock_cookie_jar.rb +47 -3
  77. data/lib/authlogic/test_case/mock_request.rb +6 -3
  78. data/lib/authlogic/test_case/rails_request_adapter.rb +3 -2
  79. data/lib/authlogic/test_case.rb +70 -2
  80. data/lib/authlogic/version.rb +21 -0
  81. data/lib/authlogic.rb +51 -49
  82. data/test/acts_as_authentic_test/base_test.rb +3 -1
  83. data/test/acts_as_authentic_test/email_test.rb +43 -42
  84. data/test/acts_as_authentic_test/logged_in_status_test.rb +6 -4
  85. data/test/acts_as_authentic_test/login_test.rb +77 -80
  86. data/test/acts_as_authentic_test/magic_columns_test.rb +3 -1
  87. data/test/acts_as_authentic_test/password_test.rb +51 -37
  88. data/test/acts_as_authentic_test/perishable_token_test.rb +13 -5
  89. data/test/acts_as_authentic_test/persistence_token_test.rb +7 -1
  90. data/test/acts_as_authentic_test/restful_authentication_test.rb +14 -3
  91. data/test/acts_as_authentic_test/session_maintenance_test.rb +69 -15
  92. data/test/acts_as_authentic_test/single_access_test.rb +3 -1
  93. data/test/adapter_test.rb +23 -0
  94. data/test/authenticates_many_test.rb +3 -1
  95. data/test/config_test.rb +11 -9
  96. data/test/crypto_provider_test/aes256_test.rb +3 -1
  97. data/test/crypto_provider_test/bcrypt_test.rb +3 -1
  98. data/test/crypto_provider_test/scrypt_test.rb +3 -1
  99. data/test/crypto_provider_test/sha1_test.rb +3 -1
  100. data/test/crypto_provider_test/sha256_test.rb +3 -1
  101. data/test/crypto_provider_test/sha512_test.rb +3 -1
  102. data/test/crypto_provider_test/wordpress_test.rb +26 -0
  103. data/test/fixtures/companies.yml +2 -2
  104. data/test/fixtures/employees.yml +1 -1
  105. data/test/i18n_test.rb +6 -4
  106. data/test/libs/affiliate.rb +2 -0
  107. data/test/libs/company.rb +4 -2
  108. data/test/libs/employee.rb +2 -0
  109. data/test/libs/employee_session.rb +2 -0
  110. data/test/libs/ldaper.rb +2 -0
  111. data/test/libs/project.rb +2 -0
  112. data/test/libs/user.rb +2 -0
  113. data/test/libs/user_session.rb +4 -2
  114. data/test/random_test.rb +10 -38
  115. data/test/session_test/activation_test.rb +3 -1
  116. data/test/session_test/active_record_trickery_test.rb +7 -4
  117. data/test/session_test/brute_force_protection_test.rb +11 -9
  118. data/test/session_test/callbacks_test.rb +12 -4
  119. data/test/session_test/cookies_test.rb +48 -5
  120. data/test/session_test/existence_test.rb +18 -5
  121. data/test/session_test/foundation_test.rb +19 -1
  122. data/test/session_test/http_auth_test.rb +11 -7
  123. data/test/session_test/id_test.rb +3 -1
  124. data/test/session_test/klass_test.rb +3 -1
  125. data/test/session_test/magic_columns_test.rb +13 -13
  126. data/test/session_test/magic_states_test.rb +3 -1
  127. data/test/session_test/params_test.rb +13 -5
  128. data/test/session_test/password_test.rb +10 -8
  129. data/test/session_test/perishability_test.rb +3 -1
  130. data/test/session_test/persistence_test.rb +4 -1
  131. data/test/session_test/scopes_test.rb +16 -8
  132. data/test/session_test/session_test.rb +6 -4
  133. data/test/session_test/timeout_test.rb +4 -2
  134. data/test/session_test/unauthorized_record_test.rb +4 -2
  135. data/test/session_test/validation_test.rb +3 -1
  136. data/test/test_helper.rb +84 -45
  137. metadata +87 -73
  138. data/.github/ISSUE_TEMPLATE.md +0 -13
  139. data/test/gemfiles/Gemfile.rails-3.2.x +0 -7
  140. data/test/gemfiles/Gemfile.rails-4.0.x +0 -7
  141. data/test/gemfiles/Gemfile.rails-4.1.x +0 -7
  142. data/test/gemfiles/Gemfile.rails-4.2.x +0 -7
  143. data/test/gemfiles/Gemfile.rails-5.0.x +0 -6
data/test/test_helper.rb CHANGED
@@ -1,19 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "byebug"
1
4
  require "rubygems"
2
5
  require "minitest/autorun"
3
6
  require "active_record"
4
7
  require "active_record/fixtures"
5
8
  require "timecop"
6
9
  require "i18n"
10
+ require "minitest/reporters"
11
+
12
+ Minitest::Reporters.use!(Minitest::Reporters::SpecReporter.new)
7
13
 
8
- I18n.load_path << File.dirname(__FILE__) + '/i18n/lol.yml'
14
+ I18n.load_path << File.dirname(__FILE__) + "/i18n/lol.yml"
9
15
 
10
16
  # ActiveRecord::Schema.verbose = false
11
- ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
17
+ ActiveRecord::Base.establish_connection(adapter: "sqlite3", database: ":memory:")
12
18
  logger = Logger.new(STDOUT)
13
19
  logger.level = Logger::FATAL
14
20
  ActiveRecord::Base.logger = logger
15
21
 
16
- if (ActiveRecord::VERSION::STRING < '4.1')
22
+ if ActiveRecord::VERSION::STRING < "4.1"
17
23
  ActiveRecord::Base.configurations = true
18
24
  end
19
25
 
@@ -22,7 +28,7 @@ if ActiveSupport.respond_to?(:test_order)
22
28
  end
23
29
 
24
30
  ActiveRecord::Base.default_timezone = :local
25
- ActiveRecord::Schema.define(:version => 1) do
31
+ ActiveRecord::Schema.define(version: 1) do
26
32
  create_table :companies do |t|
27
33
  t.datetime :created_at
28
34
  t.datetime :updated_at
@@ -36,7 +42,7 @@ ActiveRecord::Schema.define(:version => 1) do
36
42
  t.string :name
37
43
  end
38
44
 
39
- create_table :projects_users, :id => false do |t|
45
+ create_table :projects_users, id: false do |t|
40
46
  t.integer :project_id
41
47
  t.integer :user_id
42
48
  end
@@ -44,7 +50,7 @@ ActiveRecord::Schema.define(:version => 1) do
44
50
  create_table :users do |t|
45
51
  t.datetime :created_at
46
52
  t.datetime :updated_at
47
- t.integer :lock_version, :default => 0
53
+ t.integer :lock_version, default: 0
48
54
  t.integer :company_id
49
55
  t.string :login
50
56
  t.string :crypted_password
@@ -55,16 +61,16 @@ ActiveRecord::Schema.define(:version => 1) do
55
61
  t.string :email
56
62
  t.string :first_name
57
63
  t.string :last_name
58
- t.integer :login_count, :default => 0, :null => false
59
- t.integer :failed_login_count, :default => 0, :null => false
64
+ t.integer :login_count, default: 0, null: false
65
+ t.integer :failed_login_count, default: 0, null: false
60
66
  t.datetime :last_request_at
61
67
  t.datetime :current_login_at
62
68
  t.datetime :last_login_at
63
69
  t.string :current_login_ip
64
70
  t.string :last_login_ip
65
- t.boolean :active, :default => true
66
- t.boolean :approved, :default => true
67
- t.boolean :confirmed, :default => true
71
+ t.boolean :active, default: true
72
+ t.boolean :approved, default: true
73
+ t.boolean :confirmed, default: true
68
74
  end
69
75
 
70
76
  create_table :employees do |t|
@@ -77,7 +83,7 @@ ActiveRecord::Schema.define(:version => 1) do
77
83
  t.string :persistence_token
78
84
  t.string :first_name
79
85
  t.string :last_name
80
- t.integer :login_count, :default => 0, :null => false
86
+ t.integer :login_count, default: 0, null: false
81
87
  t.datetime :last_request_at
82
88
  t.datetime :current_login_at
83
89
  t.datetime :last_login_at
@@ -103,16 +109,24 @@ ActiveRecord::Schema.define(:version => 1) do
103
109
  end
104
110
  end
105
111
 
106
- require_relative '../lib/authlogic' unless defined?(Authlogic)
107
- require_relative '../lib/authlogic/test_case'
108
- require_relative 'libs/project'
109
- require_relative 'libs/affiliate'
110
- require_relative 'libs/employee'
111
- require_relative 'libs/employee_session'
112
- require_relative 'libs/ldaper'
113
- require_relative 'libs/user'
114
- require_relative 'libs/user_session'
115
- require_relative 'libs/company'
112
+ require "English"
113
+ $LOAD_PATH.unshift(File.expand_path("../lib", __dir__))
114
+ require "authlogic"
115
+ require "authlogic/test_case"
116
+
117
+ # Configure SCrypt to be as fast as possible. This is desirable for a test
118
+ # suite, and would be the opposite of desirable for production.
119
+ Authlogic::CryptoProviders::SCrypt.max_time = 0.001 # 1ms
120
+ Authlogic::CryptoProviders::SCrypt.max_mem = 1024 * 1024 # 1MB, the minimum SCrypt allows
121
+
122
+ require "libs/project"
123
+ require "libs/affiliate"
124
+ require "libs/employee"
125
+ require "libs/employee_session"
126
+ require "libs/ldaper"
127
+ require "libs/user"
128
+ require "libs/user_session"
129
+ require "libs/company"
116
130
 
117
131
  # Recent change, 2017-10-23: We had used a 54-letter string here. In the default
118
132
  # encoding, UTF-8, that's 54 bytes, which is clearly incorrect for an algorithm
@@ -120,41 +134,62 @@ require_relative 'libs/company'
120
134
  # thus openssl gem 2.0), it is more strict, and must be exactly 32 bytes.
121
135
  Authlogic::CryptoProviders::AES256.key = ::OpenSSL::Random.random_bytes(32)
122
136
 
123
- class ActiveSupport::TestCase
124
- include ActiveRecord::TestFixtures
125
- self.fixture_path = File.dirname(__FILE__) + "/fixtures"
137
+ module ActiveSupport
138
+ class TestCase
139
+ include ActiveRecord::TestFixtures
140
+ self.fixture_path = File.dirname(__FILE__) + "/fixtures"
126
141
 
127
- # use_transactional_fixtures= is deprecated and will be removed from Rails 5.1
128
- # (use use_transactional_tests= instead)
129
- if respond_to?(:use_transactional_tests=)
130
- self.use_transactional_tests = false
131
- else
132
- self.use_transactional_fixtures = false
133
- end
142
+ # use_transactional_fixtures= is deprecated and will be removed from Rails 5.1
143
+ # (use use_transactional_tests= instead)
144
+ if respond_to?(:use_transactional_tests=)
145
+ self.use_transactional_tests = false
146
+ else
147
+ self.use_transactional_fixtures = false
148
+ end
134
149
 
135
- self.use_instantiated_fixtures = false
136
- self.pre_loaded_fixtures = false
137
- fixtures :all
138
- setup :activate_authlogic
139
- setup :config_setup
140
- teardown :config_teardown
141
- teardown { Timecop.return } # for tests that need to freeze the time
150
+ self.use_instantiated_fixtures = false
151
+ self.pre_loaded_fixtures = false
152
+ fixtures :all
153
+ setup :activate_authlogic
154
+ setup :config_setup
155
+ teardown :config_teardown
156
+ teardown { Timecop.return } # for tests that need to freeze the time
142
157
 
143
- private
158
+ private
144
159
 
145
160
  # Many of the tests change Authlogic config for the test models. Some tests
146
161
  # were not resetting the config after tests, which didn't surface as broken
147
162
  # tests until Rails 4.1 was added for testing. This ensures that all the
148
163
  # models start tests with their original config.
149
164
  def config_setup
150
- [Project, Affiliate, Employee, EmployeeSession, Ldaper, User, UserSession, Company].each do |model|
151
- model.class_attribute :original_acts_as_authentic_config unless model.respond_to?(:original_acts_as_authentic_config)
165
+ [
166
+ Project,
167
+ Affiliate,
168
+ Employee,
169
+ EmployeeSession,
170
+ Ldaper,
171
+ User,
172
+ UserSession,
173
+ Company
174
+ ].each do |model|
175
+ unless model.respond_to?(:original_acts_as_authentic_config)
176
+ model.class_attribute :original_acts_as_authentic_config
177
+ end
152
178
  model.original_acts_as_authentic_config = model.acts_as_authentic_config
153
179
  end
154
180
  end
155
181
 
156
182
  def config_teardown
157
- [Project, Affiliate, Employee, EmployeeSession, Ldaper, User, UserSession, Company].each do |model|
183
+ [
184
+ Project,
185
+ Affiliate,
186
+ Employee,
187
+ EmployeeSession,
188
+ Ldaper,
189
+ User,
190
+ UserSession,
191
+ Company
192
+ ].each do |model|
158
193
  model.acts_as_authentic_config = model.original_acts_as_authentic_config
159
194
  end
160
195
  end
@@ -170,7 +205,7 @@ class ActiveSupport::TestCase
170
205
  end
171
206
  end
172
207
 
173
- def http_basic_auth_for(user = nil, &block)
208
+ def http_basic_auth_for(user = nil)
174
209
  unless user.blank?
175
210
  controller.http_user = user.login
176
211
  controller.http_password = password_for(user)
@@ -180,7 +215,10 @@ class ActiveSupport::TestCase
180
215
  end
181
216
 
182
217
  def set_cookie_for(user)
183
- controller.cookies["user_credentials"] = { :value => "#{user.persistence_token}::#{user.id}", :expires => nil }
218
+ controller.cookies["user_credentials"] = {
219
+ value: "#{user.persistence_token}::#{user.id}",
220
+ expires: nil
221
+ }
184
222
  end
185
223
 
186
224
  def unset_cookie
@@ -230,4 +268,5 @@ class ActiveSupport::TestCase
230
268
  def unset_session
231
269
  controller.session["user_credentials"] = controller.session["user_credentials_id"] = nil
232
270
  end
271
+ end
233
272
  end
metadata CHANGED
@@ -1,165 +1,189 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: authlogic
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.8.0
5
- prerelease:
4
+ version: 4.5.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Ben Johnson
8
+ - Tieg Zaharia
9
+ - Jared Beck
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2018-02-08 00:00:00.000000000 Z
13
+ date: 2020-03-24 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: activerecord
16
17
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
18
  requirements:
19
- - - ! '>='
19
+ - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: '3.2'
22
- - - <
21
+ version: '4.2'
22
+ - - "<"
23
23
  - !ruby/object:Gem::Version
24
24
  version: '5.3'
25
25
  type: :runtime
26
26
  prerelease: false
27
27
  version_requirements: !ruby/object:Gem::Requirement
28
- none: false
29
28
  requirements:
30
- - - ! '>='
29
+ - - ">="
31
30
  - !ruby/object:Gem::Version
32
- version: '3.2'
33
- - - <
31
+ version: '4.2'
32
+ - - "<"
34
33
  - !ruby/object:Gem::Version
35
34
  version: '5.3'
36
35
  - !ruby/object:Gem::Dependency
37
36
  name: activesupport
38
37
  requirement: !ruby/object:Gem::Requirement
39
- none: false
40
38
  requirements:
41
- - - ! '>='
39
+ - - ">="
42
40
  - !ruby/object:Gem::Version
43
- version: '3.2'
44
- - - <
41
+ version: '4.2'
42
+ - - "<"
45
43
  - !ruby/object:Gem::Version
46
44
  version: '5.3'
47
45
  type: :runtime
48
46
  prerelease: false
49
47
  version_requirements: !ruby/object:Gem::Requirement
50
- none: false
51
48
  requirements:
52
- - - ! '>='
49
+ - - ">="
53
50
  - !ruby/object:Gem::Version
54
- version: '3.2'
55
- - - <
51
+ version: '4.2'
52
+ - - "<"
56
53
  - !ruby/object:Gem::Version
57
54
  version: '5.3'
58
55
  - !ruby/object:Gem::Dependency
59
56
  name: request_store
60
57
  requirement: !ruby/object:Gem::Requirement
61
- none: false
62
58
  requirements:
63
- - - ~>
59
+ - - "~>"
64
60
  - !ruby/object:Gem::Version
65
61
  version: '1.0'
66
62
  type: :runtime
67
63
  prerelease: false
68
64
  version_requirements: !ruby/object:Gem::Requirement
69
- none: false
70
65
  requirements:
71
- - - ~>
66
+ - - "~>"
72
67
  - !ruby/object:Gem::Version
73
68
  version: '1.0'
74
69
  - !ruby/object:Gem::Dependency
75
70
  name: scrypt
76
71
  requirement: !ruby/object:Gem::Requirement
77
- none: false
78
72
  requirements:
79
- - - ! '>='
73
+ - - ">="
80
74
  - !ruby/object:Gem::Version
81
75
  version: '1.2'
82
- - - <
76
+ - - "<"
83
77
  - !ruby/object:Gem::Version
84
78
  version: '4.0'
85
79
  type: :runtime
86
80
  prerelease: false
87
81
  version_requirements: !ruby/object:Gem::Requirement
88
- none: false
89
82
  requirements:
90
- - - ! '>='
83
+ - - ">="
91
84
  - !ruby/object:Gem::Version
92
85
  version: '1.2'
93
- - - <
86
+ - - "<"
94
87
  - !ruby/object:Gem::Version
95
88
  version: '4.0'
96
89
  - !ruby/object:Gem::Dependency
97
90
  name: bcrypt
98
91
  requirement: !ruby/object:Gem::Requirement
99
- none: false
100
92
  requirements:
101
- - - ~>
93
+ - - "~>"
102
94
  - !ruby/object:Gem::Version
103
95
  version: '3.1'
104
96
  type: :development
105
97
  prerelease: false
106
98
  version_requirements: !ruby/object:Gem::Requirement
107
- none: false
108
99
  requirements:
109
- - - ~>
100
+ - - "~>"
110
101
  - !ruby/object:Gem::Version
111
102
  version: '3.1'
112
103
  - !ruby/object:Gem::Dependency
113
- name: timecop
104
+ name: byebug
114
105
  requirement: !ruby/object:Gem::Requirement
115
- none: false
116
106
  requirements:
117
- - - ~>
107
+ - - "~>"
118
108
  - !ruby/object:Gem::Version
119
- version: '0.7'
109
+ version: '10.0'
120
110
  type: :development
121
111
  prerelease: false
122
112
  version_requirements: !ruby/object:Gem::Requirement
123
- none: false
124
113
  requirements:
125
- - - ~>
114
+ - - "~>"
126
115
  - !ruby/object:Gem::Version
127
- version: '0.7'
116
+ version: '10.0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: minitest-reporters
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '1.3'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '1.3'
128
131
  - !ruby/object:Gem::Dependency
129
132
  name: rubocop
130
133
  requirement: !ruby/object:Gem::Requirement
131
- none: false
132
134
  requirements:
133
- - - ~>
135
+ - - "~>"
134
136
  - !ruby/object:Gem::Version
135
- version: 0.41.2
137
+ version: 0.58.1
136
138
  type: :development
137
139
  prerelease: false
138
140
  version_requirements: !ruby/object:Gem::Requirement
139
- none: false
140
141
  requirements:
141
- - - ~>
142
+ - - "~>"
142
143
  - !ruby/object:Gem::Version
143
- version: 0.41.2
144
+ version: 0.58.1
145
+ - !ruby/object:Gem::Dependency
146
+ name: timecop
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '0.7'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: '0.7'
144
159
  description:
145
160
  email:
146
161
  - bjohnson@binarylogic.com
162
+ - tieg.zaharia@gmail.com
163
+ - jared@jaredbeck.com
147
164
  executables: []
148
165
  extensions: []
149
166
  extra_rdoc_files: []
150
167
  files:
151
- - .github/ISSUE_TEMPLATE.md
152
- - .gitignore
153
- - .rubocop.yml
154
- - .rubocop_todo.yml
155
- - .travis.yml
168
+ - ".github/ISSUE_TEMPLATE/bug_report.md"
169
+ - ".github/ISSUE_TEMPLATE/feature_proposal.md"
170
+ - ".github/triage.md"
171
+ - ".gitignore"
172
+ - ".rubocop.yml"
173
+ - ".rubocop_todo.yml"
174
+ - ".travis.yml"
156
175
  - CHANGELOG.md
157
176
  - CONTRIBUTING.md
158
177
  - Gemfile
159
178
  - LICENSE
160
179
  - README.md
161
180
  - Rakefile
181
+ - UPGRADING.md
162
182
  - authlogic.gemspec
183
+ - doc/use_normal_rails_validation.md
184
+ - gemfiles/Gemfile.rails-4.2.x
185
+ - gemfiles/Gemfile.rails-5.1.x
186
+ - gemfiles/Gemfile.rails-5.2.x
163
187
  - lib/authlogic.rb
164
188
  - lib/authlogic/acts_as_authentic/base.rb
165
189
  - lib/authlogic/acts_as_authentic/email.rb
@@ -169,6 +193,7 @@ files:
169
193
  - lib/authlogic/acts_as_authentic/password.rb
170
194
  - lib/authlogic/acts_as_authentic/perishable_token.rb
171
195
  - lib/authlogic/acts_as_authentic/persistence_token.rb
196
+ - lib/authlogic/acts_as_authentic/queries/find_with_case.rb
172
197
  - lib/authlogic/acts_as_authentic/restful_authentication.rb
173
198
  - lib/authlogic/acts_as_authentic/session_maintenance.rb
174
199
  - lib/authlogic/acts_as_authentic/single_access_token.rb
@@ -222,6 +247,7 @@ files:
222
247
  - lib/authlogic/test_case/mock_logger.rb
223
248
  - lib/authlogic/test_case/mock_request.rb
224
249
  - lib/authlogic/test_case/rails_request_adapter.rb
250
+ - lib/authlogic/version.rb
225
251
  - test/acts_as_authentic_test/base_test.rb
226
252
  - test/acts_as_authentic_test/email_test.rb
227
253
  - test/acts_as_authentic_test/logged_in_status_test.rb
@@ -233,6 +259,7 @@ files:
233
259
  - test/acts_as_authentic_test/restful_authentication_test.rb
234
260
  - test/acts_as_authentic_test/session_maintenance_test.rb
235
261
  - test/acts_as_authentic_test/single_access_test.rb
262
+ - test/adapter_test.rb
236
263
  - test/authenticates_many_test.rb
237
264
  - test/config_test.rb
238
265
  - test/crypto_provider_test/aes256_test.rb
@@ -241,17 +268,11 @@ files:
241
268
  - test/crypto_provider_test/sha1_test.rb
242
269
  - test/crypto_provider_test/sha256_test.rb
243
270
  - test/crypto_provider_test/sha512_test.rb
271
+ - test/crypto_provider_test/wordpress_test.rb
244
272
  - test/fixtures/companies.yml
245
273
  - test/fixtures/employees.yml
246
274
  - test/fixtures/projects.yml
247
275
  - test/fixtures/users.yml
248
- - test/gemfiles/Gemfile.rails-3.2.x
249
- - test/gemfiles/Gemfile.rails-4.0.x
250
- - test/gemfiles/Gemfile.rails-4.1.x
251
- - test/gemfiles/Gemfile.rails-4.2.x
252
- - test/gemfiles/Gemfile.rails-5.0.x
253
- - test/gemfiles/Gemfile.rails-5.1.x
254
- - test/gemfiles/Gemfile.rails-5.2.x
255
276
  - test/i18n/lol.yml
256
277
  - test/i18n_test.rb
257
278
  - test/libs/affiliate.rb
@@ -289,27 +310,25 @@ files:
289
310
  homepage: http://github.com/binarylogic/authlogic
290
311
  licenses:
291
312
  - MIT
313
+ metadata: {}
292
314
  post_install_message:
293
315
  rdoc_options: []
294
316
  require_paths:
295
317
  - lib
296
318
  required_ruby_version: !ruby/object:Gem::Requirement
297
- none: false
298
319
  requirements:
299
- - - ! '>='
320
+ - - ">="
300
321
  - !ruby/object:Gem::Version
301
- version: '0'
322
+ version: 2.3.0
302
323
  required_rubygems_version: !ruby/object:Gem::Requirement
303
- none: false
304
324
  requirements:
305
- - - ! '>='
325
+ - - ">="
306
326
  - !ruby/object:Gem::Version
307
327
  version: '0'
308
328
  requirements: []
309
- rubyforge_project:
310
- rubygems_version: 1.8.23.2
329
+ rubygems_version: 3.0.3
311
330
  signing_key:
312
- specification_version: 3
331
+ specification_version: 4
313
332
  summary: A clean, simple, and unobtrusive ruby authentication solution.
314
333
  test_files:
315
334
  - test/acts_as_authentic_test/base_test.rb
@@ -323,6 +342,7 @@ test_files:
323
342
  - test/acts_as_authentic_test/restful_authentication_test.rb
324
343
  - test/acts_as_authentic_test/session_maintenance_test.rb
325
344
  - test/acts_as_authentic_test/single_access_test.rb
345
+ - test/adapter_test.rb
326
346
  - test/authenticates_many_test.rb
327
347
  - test/config_test.rb
328
348
  - test/crypto_provider_test/aes256_test.rb
@@ -331,17 +351,11 @@ test_files:
331
351
  - test/crypto_provider_test/sha1_test.rb
332
352
  - test/crypto_provider_test/sha256_test.rb
333
353
  - test/crypto_provider_test/sha512_test.rb
354
+ - test/crypto_provider_test/wordpress_test.rb
334
355
  - test/fixtures/companies.yml
335
356
  - test/fixtures/employees.yml
336
357
  - test/fixtures/projects.yml
337
358
  - test/fixtures/users.yml
338
- - test/gemfiles/Gemfile.rails-3.2.x
339
- - test/gemfiles/Gemfile.rails-4.0.x
340
- - test/gemfiles/Gemfile.rails-4.1.x
341
- - test/gemfiles/Gemfile.rails-4.2.x
342
- - test/gemfiles/Gemfile.rails-5.0.x
343
- - test/gemfiles/Gemfile.rails-5.1.x
344
- - test/gemfiles/Gemfile.rails-5.2.x
345
359
  - test/i18n/lol.yml
346
360
  - test/i18n_test.rb
347
361
  - test/libs/affiliate.rb
@@ -1,13 +0,0 @@
1
- Thanks for your interest in authlogic! Our volunteers' time is limited, so we
2
- can only respond on GitHub to bug reports and feature requests. Please ask
3
- usage questions on StackOverflow so that the whole community has a chance to
4
- answer your question.
5
-
6
- http://stackoverflow.com/questions/tagged/authlogic
7
-
8
- Do not disclose security issues in public. See our contributing guide
9
- for instructions.
10
-
11
- https://github.com/binarylogic/authlogic/blob/master/CONTRIBUTING.md
12
-
13
- Thanks for your contribution!
@@ -1,7 +0,0 @@
1
- source "https://rubygems.org"
2
- gemspec :path => "./../.."
3
-
4
- gem "activerecord", "3.2.22"
5
- gem "activesupport", "3.2.22"
6
- gem 'activerecord-jdbcsqlite3-adapter', :platforms => :jruby
7
- gem 'sqlite3', :platforms => :ruby
@@ -1,7 +0,0 @@
1
- source "https://rubygems.org"
2
- gemspec :path => "./../.."
3
-
4
- gem "activerecord", "~> 4.0.3"
5
- gem "activesupport", "~> 4.0.3"
6
- gem 'activerecord-jdbcsqlite3-adapter', :platforms => :jruby
7
- gem 'sqlite3', :platforms => :ruby
@@ -1,7 +0,0 @@
1
- source "https://rubygems.org"
2
- gemspec :path => "./../.."
3
-
4
- gem "activerecord", "~> 4.1.0"
5
- gem "activesupport", "~> 4.1.0"
6
- gem 'activerecord-jdbcsqlite3-adapter', :platforms => :jruby
7
- gem 'sqlite3', :platforms => :ruby
@@ -1,7 +0,0 @@
1
- source "https://rubygems.org"
2
- gemspec :path => "./../.."
3
-
4
- gem "activerecord", "~> 4.2.0"
5
- gem "activesupport", "~> 4.2.0"
6
- gem 'activerecord-jdbcsqlite3-adapter', :platforms => :jruby
7
- gem 'sqlite3', :platforms => :ruby
@@ -1,6 +0,0 @@
1
- source "https://rubygems.org"
2
- gemspec :path => "./../.."
3
-
4
- gem "activerecord", "~> 5.0.0"
5
- gem "activesupport", "~> 5.0.0"
6
- gem 'sqlite3', :platforms => :ruby