authlogic 3.8.0 → 4.5.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.
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