authlogic 3.4.6 → 3.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.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.rubocop.yml +33 -0
- data/.rubocop_todo.yml +427 -0
- data/.travis.yml +24 -3
- data/CHANGELOG.md +9 -2
- data/CONTRIBUTING.md +40 -1
- data/Gemfile +1 -1
- data/README.md +295 -0
- data/Rakefile +10 -2
- data/authlogic.gemspec +6 -5
- data/lib/authlogic.rb +2 -2
- data/lib/authlogic/acts_as_authentic/base.rb +2 -2
- data/lib/authlogic/acts_as_authentic/email.rb +59 -14
- data/lib/authlogic/acts_as_authentic/logged_in_status.rb +4 -3
- data/lib/authlogic/acts_as_authentic/login.rb +62 -12
- data/lib/authlogic/acts_as_authentic/magic_columns.rb +17 -6
- data/lib/authlogic/acts_as_authentic/password.rb +107 -53
- data/lib/authlogic/acts_as_authentic/persistence_token.rb +10 -9
- data/lib/authlogic/acts_as_authentic/restful_authentication.rb +2 -0
- data/lib/authlogic/acts_as_authentic/session_maintenance.rb +48 -35
- data/lib/authlogic/acts_as_authentic/single_access_token.rb +19 -15
- data/lib/authlogic/acts_as_authentic/validations_scope.rb +2 -2
- data/lib/authlogic/authenticates_many/association.rb +6 -5
- data/lib/authlogic/authenticates_many/base.rb +22 -12
- data/lib/authlogic/config.rb +2 -1
- data/lib/authlogic/controller_adapters/abstract_adapter.rb +2 -1
- data/lib/authlogic/controller_adapters/rack_adapter.rb +3 -4
- data/lib/authlogic/controller_adapters/rails_adapter.rb +26 -14
- data/lib/authlogic/controller_adapters/sinatra_adapter.rb +1 -1
- data/lib/authlogic/crypto_providers/aes256.rb +16 -12
- data/lib/authlogic/crypto_providers/bcrypt.rb +10 -4
- data/lib/authlogic/crypto_providers/md5.rb +7 -7
- data/lib/authlogic/crypto_providers/scrypt.rb +10 -2
- data/lib/authlogic/crypto_providers/sha1.rb +3 -3
- data/lib/authlogic/crypto_providers/sha256.rb +3 -3
- data/lib/authlogic/crypto_providers/sha512.rb +4 -4
- data/lib/authlogic/crypto_providers/wordpress.rb +13 -13
- data/lib/authlogic/i18n.rb +22 -16
- data/lib/authlogic/i18n/translator.rb +1 -1
- data/lib/authlogic/random.rb +13 -12
- data/lib/authlogic/regex.rb +3 -3
- data/lib/authlogic/session/activation.rb +7 -6
- data/lib/authlogic/session/active_record_trickery.rb +1 -2
- data/lib/authlogic/session/base.rb +7 -6
- data/lib/authlogic/session/brute_force_protection.rb +58 -34
- data/lib/authlogic/session/callbacks.rb +16 -12
- data/lib/authlogic/session/cookies.rb +29 -14
- data/lib/authlogic/session/existence.rb +10 -10
- data/lib/authlogic/session/foundation.rb +11 -7
- data/lib/authlogic/session/http_auth.rb +6 -5
- data/lib/authlogic/session/id.rb +5 -4
- data/lib/authlogic/session/klass.rb +2 -1
- data/lib/authlogic/session/magic_columns.rb +21 -14
- data/lib/authlogic/session/magic_states.rb +25 -14
- data/lib/authlogic/session/params.rb +41 -26
- data/lib/authlogic/session/password.rb +62 -40
- data/lib/authlogic/session/perishable_token.rb +3 -2
- data/lib/authlogic/session/persistence.rb +3 -3
- data/lib/authlogic/session/priority_record.rb +5 -4
- data/lib/authlogic/session/scopes.rb +20 -9
- data/lib/authlogic/session/session.rb +9 -4
- data/lib/authlogic/session/timeout.rb +40 -23
- data/lib/authlogic/session/unauthorized_record.rb +6 -5
- data/lib/authlogic/session/validation.rb +18 -9
- data/lib/authlogic/test_case.rb +2 -2
- data/lib/authlogic/test_case/mock_controller.rb +9 -9
- data/lib/authlogic/test_case/mock_cookie_jar.rb +2 -2
- data/lib/authlogic/test_case/mock_logger.rb +1 -1
- data/lib/authlogic/test_case/mock_request.rb +2 -1
- data/lib/authlogic/test_case/rails_request_adapter.rb +5 -5
- data/test/acts_as_authentic_test/email_test.rb +29 -17
- data/test/acts_as_authentic_test/logged_in_status_test.rb +9 -3
- data/test/acts_as_authentic_test/login_test.rb +47 -13
- data/test/acts_as_authentic_test/magic_columns_test.rb +4 -4
- data/test/acts_as_authentic_test/password_test.rb +31 -21
- data/test/acts_as_authentic_test/perishable_token_test.rb +15 -15
- data/test/acts_as_authentic_test/session_maintenance_test.rb +20 -13
- data/test/acts_as_authentic_test/single_access_test.rb +8 -8
- data/test/authenticates_many_test.rb +4 -4
- data/test/crypto_provider_test/aes256_test.rb +2 -2
- data/test/crypto_provider_test/scrypt_test.rb +1 -1
- data/test/crypto_provider_test/sha1_test.rb +3 -3
- data/test/crypto_provider_test/sha256_test.rb +1 -1
- data/test/crypto_provider_test/sha512_test.rb +2 -2
- data/test/gemfiles/Gemfile.rails-3.2.x +2 -2
- data/test/gemfiles/Gemfile.rails-5.0.x +6 -0
- data/test/i18n_test.rb +5 -5
- data/test/libs/affiliate.rb +2 -2
- data/test/libs/company.rb +1 -1
- data/test/libs/employee.rb +2 -2
- data/test/libs/employee_session.rb +1 -1
- data/test/libs/ldaper.rb +1 -1
- data/test/libs/project.rb +1 -1
- data/test/random_test.rb +5 -4
- data/test/session_test/activation_test.rb +5 -5
- data/test/session_test/active_record_trickery_test.rb +7 -5
- data/test/session_test/cookies_test.rb +8 -6
- data/test/session_test/existence_test.rb +19 -13
- data/test/session_test/http_auth_test.rb +0 -3
- data/test/session_test/id_test.rb +2 -2
- data/test/session_test/klass_test.rb +1 -1
- data/test/session_test/magic_columns_test.rb +0 -3
- data/test/session_test/magic_states_test.rb +11 -11
- data/test/session_test/params_test.rb +10 -10
- data/test/session_test/password_test.rb +4 -5
- data/test/session_test/perishability_test.rb +3 -3
- data/test/session_test/scopes_test.rb +8 -8
- data/test/session_test/session_test.rb +5 -4
- data/test/session_test/timeout_test.rb +8 -8
- data/test/session_test/unauthorized_record_test.rb +2 -2
- data/test/session_test/validation_test.rb +3 -3
- data/test/test_helper.rb +9 -5
- metadata +54 -24
- data/README.rdoc +0 -232
@@ -34,13 +34,12 @@ module SessionTest
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def test_generalize_credentials_error_messages_set_to_string
|
37
|
-
UserSession.generalize_credentials_error_messages= "Custom Error Message"
|
37
|
+
UserSession.generalize_credentials_error_messages = "Custom Error Message"
|
38
38
|
assert UserSession.generalize_credentials_error_messages
|
39
39
|
session = UserSession.create(:login => users(:ben).login, :password => "invalud-password")
|
40
40
|
assert_equal ["Custom Error Message"], session.errors.full_messages
|
41
41
|
end
|
42
42
|
|
43
|
-
|
44
43
|
def test_login_field
|
45
44
|
UserSession.configured_password_methods = false
|
46
45
|
UserSession.login_field = :saweet
|
@@ -80,16 +79,16 @@ module SessionTest
|
|
80
79
|
|
81
80
|
def test_credentials
|
82
81
|
session = UserSession.new
|
83
|
-
session.credentials = {:login => "login", :password => "pass"}
|
82
|
+
session.credentials = { :login => "login", :password => "pass" }
|
84
83
|
assert_equal "login", session.login
|
85
84
|
assert_nil session.password
|
86
85
|
assert_equal "pass", session.send(:protected_password)
|
87
|
-
assert_equal({:password => "<protected>", :login => "login"}, session.credentials)
|
86
|
+
assert_equal({ :password => "<protected>", :login => "login" }, session.credentials)
|
88
87
|
end
|
89
88
|
|
90
89
|
def test_credentials_are_params_safe
|
91
90
|
session = UserSession.new
|
92
|
-
assert_nothing_raised { session.credentials = {:hacker_method => "error!"} }
|
91
|
+
assert_nothing_raised { session.credentials = { :hacker_method => "error!" } }
|
93
92
|
end
|
94
93
|
|
95
94
|
def test_save_with_credentials
|
@@ -5,11 +5,11 @@ module SessionTest
|
|
5
5
|
def test_after_save
|
6
6
|
ben = users(:ben)
|
7
7
|
old_perishable_token = ben.perishable_token
|
8
|
-
|
8
|
+
UserSession.create(ben)
|
9
9
|
assert_not_equal old_perishable_token, ben.perishable_token
|
10
|
-
|
10
|
+
|
11
11
|
drew = employees(:drew)
|
12
12
|
assert UserSession.create(drew)
|
13
13
|
end
|
14
14
|
end
|
15
|
-
end
|
15
|
+
end
|
@@ -6,7 +6,7 @@ module SessionTest
|
|
6
6
|
assert_nil Authlogic::Session::Base.scope
|
7
7
|
|
8
8
|
thread1 = Thread.new do
|
9
|
-
scope = {:id => :scope1}
|
9
|
+
scope = { :id => :scope1 }
|
10
10
|
Authlogic::Session::Base.send(:scope=, scope)
|
11
11
|
assert_equal scope, Authlogic::Session::Base.scope
|
12
12
|
end
|
@@ -15,7 +15,7 @@ module SessionTest
|
|
15
15
|
assert_nil Authlogic::Session::Base.scope
|
16
16
|
|
17
17
|
thread2 = Thread.new do
|
18
|
-
scope = {:id => :scope2}
|
18
|
+
scope = { :id => :scope2 }
|
19
19
|
Authlogic::Session::Base.send(:scope=, scope)
|
20
20
|
assert_equal scope, Authlogic::Session::Base.scope
|
21
21
|
end
|
@@ -27,17 +27,17 @@ module SessionTest
|
|
27
27
|
def test_with_scope_method
|
28
28
|
assert_raise(ArgumentError) { UserSession.with_scope }
|
29
29
|
|
30
|
-
UserSession.with_scope(:find_options => {:conditions => "awesome = 1"}, :id => "some_id") do
|
31
|
-
assert_equal({:find_options => {:conditions => "awesome = 1"}, :id => "some_id"}, UserSession.scope)
|
30
|
+
UserSession.with_scope(:find_options => { :conditions => "awesome = 1" }, :id => "some_id") do
|
31
|
+
assert_equal({ :find_options => { :conditions => "awesome = 1" }, :id => "some_id" }, UserSession.scope)
|
32
32
|
end
|
33
33
|
|
34
34
|
assert_nil UserSession.scope
|
35
35
|
end
|
36
36
|
|
37
37
|
def test_initialize
|
38
|
-
UserSession.with_scope(:find_options => {:conditions => "awesome = 1"}, :id => "some_id") do
|
38
|
+
UserSession.with_scope(:find_options => { :conditions => "awesome = 1" }, :id => "some_id") do
|
39
39
|
session = UserSession.new
|
40
|
-
assert_equal({:find_options => {:conditions => "awesome = 1"}, :id => "some_id"}, session.scope)
|
40
|
+
assert_equal({ :find_options => { :conditions => "awesome = 1" }, :id => "some_id" }, session.scope)
|
41
41
|
session.id = :another_id
|
42
42
|
assert_equal "another_id_some_id_test", session.send(:build_key, "test")
|
43
43
|
end
|
@@ -51,10 +51,10 @@ module SessionTest
|
|
51
51
|
session = UserSession.new
|
52
52
|
assert_equal zack, session.send(:search_for_record, "find_by_login", zack.login)
|
53
53
|
|
54
|
-
session.scope = {:find_options => {:conditions => ["company_id = ?", binary_logic.id]}}
|
54
|
+
session.scope = { :find_options => { :conditions => ["company_id = ?", binary_logic.id] } }
|
55
55
|
assert_nil session.send(:search_for_record, "find_by_login", zack.login)
|
56
56
|
|
57
57
|
assert_equal ben, session.send(:search_for_record, "find_by_login", ben.login)
|
58
58
|
end
|
59
59
|
end
|
60
|
-
end
|
60
|
+
end
|
@@ -24,14 +24,15 @@ module SessionTest
|
|
24
24
|
def test_persist_persist_by_session_with_session_fixation_attack
|
25
25
|
ben = users(:ben)
|
26
26
|
controller.session["user_credentials"] = 'neo'
|
27
|
-
controller.session["user_credentials_id"] = {
|
27
|
+
controller.session["user_credentials_id"] = {
|
28
|
+
:select => " *,'neo' AS persistence_token FROM users WHERE id = #{ben.id} limit 1 -- "
|
29
|
+
}
|
28
30
|
@user_session = UserSession.find
|
29
31
|
assert @user_session.blank?
|
30
32
|
end
|
31
33
|
|
32
34
|
def test_persist_persist_by_session_with_sql_injection_attack
|
33
|
-
|
34
|
-
controller.session["user_credentials"] = {:select => "ABRA CADABRA"}
|
35
|
+
controller.session["user_credentials"] = { :select => "ABRA CADABRA" }
|
35
36
|
controller.session["user_credentials_id"] = nil
|
36
37
|
assert_nothing_raised do
|
37
38
|
@user_session = UserSession.find
|
@@ -74,4 +75,4 @@ module SessionTest
|
|
74
75
|
end
|
75
76
|
end
|
76
77
|
end
|
77
|
-
end
|
78
|
+
end
|
@@ -6,12 +6,12 @@ module SessionTest
|
|
6
6
|
def test_logout_on_timeout
|
7
7
|
UserSession.logout_on_timeout = true
|
8
8
|
assert UserSession.logout_on_timeout
|
9
|
-
|
9
|
+
|
10
10
|
UserSession.logout_on_timeout false
|
11
11
|
assert !UserSession.logout_on_timeout
|
12
12
|
end
|
13
13
|
end
|
14
|
-
|
14
|
+
|
15
15
|
class InstanceMethods < ActiveSupport::TestCase
|
16
16
|
def test_stale_state
|
17
17
|
UserSession.logout_on_timeout = true
|
@@ -19,23 +19,23 @@ module SessionTest
|
|
19
19
|
ben.last_request_at = 3.years.ago
|
20
20
|
ben.save
|
21
21
|
set_session_for(ben)
|
22
|
-
|
22
|
+
|
23
23
|
session = UserSession.new
|
24
24
|
assert session.persisting?
|
25
25
|
assert session.stale?
|
26
26
|
assert_equal ben, session.stale_record
|
27
27
|
assert_nil session.record
|
28
28
|
assert_nil controller.session["user_credentials_id"]
|
29
|
-
|
29
|
+
|
30
30
|
set_session_for(ben)
|
31
|
-
|
31
|
+
|
32
32
|
ben.last_request_at = Time.now
|
33
33
|
ben.save
|
34
|
-
|
34
|
+
|
35
35
|
assert session.persisting?
|
36
36
|
assert !session.stale?
|
37
37
|
assert_nil session.stale_record
|
38
|
-
|
38
|
+
|
39
39
|
UserSession.logout_on_timeout = false
|
40
40
|
end
|
41
41
|
|
@@ -66,7 +66,7 @@ module SessionTest
|
|
66
66
|
assert !session.stale?
|
67
67
|
UserSession.remember_me = false
|
68
68
|
end
|
69
|
-
|
69
|
+
|
70
70
|
def test_successful_login
|
71
71
|
UserSession.logout_on_timeout = true
|
72
72
|
ben = users(:ben)
|
@@ -7,7 +7,7 @@ module SessionTest
|
|
7
7
|
session = UserSession.new
|
8
8
|
session.credentials = [ben]
|
9
9
|
assert_equal ben, session.unauthorized_record
|
10
|
-
assert_equal({:unauthorized_record => "<protected>"}, session.credentials)
|
10
|
+
assert_equal({ :unauthorized_record => "<protected>" }, session.credentials)
|
11
11
|
end
|
12
12
|
end
|
13
|
-
end
|
13
|
+
end
|
@@ -6,13 +6,13 @@ module SessionTest
|
|
6
6
|
session = UserSession.new
|
7
7
|
assert session.errors.is_a?(Authlogic::Session::Validation::Errors)
|
8
8
|
end
|
9
|
-
|
9
|
+
|
10
10
|
def test_valid
|
11
11
|
session = UserSession.new
|
12
12
|
assert !session.valid?
|
13
13
|
assert_nil session.record
|
14
14
|
assert session.errors.count > 0
|
15
|
-
|
15
|
+
|
16
16
|
ben = users(:ben)
|
17
17
|
session.unauthorized_record = ben
|
18
18
|
assert session.valid?
|
@@ -20,4 +20,4 @@ module SessionTest
|
|
20
20
|
assert session.errors.empty?
|
21
21
|
end
|
22
22
|
end
|
23
|
-
end
|
23
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -5,18 +5,22 @@ require "active_record/fixtures"
|
|
5
5
|
require "timecop"
|
6
6
|
require "i18n"
|
7
7
|
|
8
|
-
|
9
8
|
I18n.load_path << File.dirname(__FILE__) + '/i18n/lol.yml'
|
10
9
|
|
11
|
-
#ActiveRecord::Schema.verbose = false
|
10
|
+
# ActiveRecord::Schema.verbose = false
|
12
11
|
ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
|
13
12
|
logger = Logger.new(STDOUT)
|
14
|
-
logger.level= Logger::FATAL
|
13
|
+
logger.level = Logger::FATAL
|
15
14
|
ActiveRecord::Base.logger = logger
|
16
15
|
|
17
16
|
if (ActiveRecord::VERSION::STRING < '4.1')
|
18
17
|
ActiveRecord::Base.configurations = true
|
19
18
|
end
|
19
|
+
|
20
|
+
if ActiveSupport.respond_to?(:test_order)
|
21
|
+
ActiveSupport.test_order = :sorted
|
22
|
+
end
|
23
|
+
|
20
24
|
ActiveRecord::Base.default_timezone = :local
|
21
25
|
ActiveRecord::Schema.define(:version => 1) do
|
22
26
|
create_table :companies do |t|
|
@@ -124,8 +128,8 @@ class ActiveSupport::TestCase
|
|
124
128
|
teardown :config_teardown
|
125
129
|
teardown { Timecop.return } # for tests that need to freeze the time
|
126
130
|
|
127
|
-
|
128
131
|
private
|
132
|
+
|
129
133
|
# Many of the tests change Authlogic config for the test models. Some tests
|
130
134
|
# were not resetting the config after tests, which didn't surface as broken
|
131
135
|
# tests until Rails 4.1 was added for testing. This ensures that all the
|
@@ -164,7 +168,7 @@ class ActiveSupport::TestCase
|
|
164
168
|
end
|
165
169
|
|
166
170
|
def set_cookie_for(user)
|
167
|
-
controller.cookies["user_credentials"] = {:value => "#{user.persistence_token}::#{user.id}", :expires => nil}
|
171
|
+
controller.cookies["user_credentials"] = { :value => "#{user.persistence_token}::#{user.id}", :expires => nil }
|
168
172
|
end
|
169
173
|
|
170
174
|
def unset_cookie
|
metadata
CHANGED
@@ -1,105 +1,131 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: authlogic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Johnson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-08-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '3.2'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '5.1'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- -
|
27
|
+
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '3.2'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '5.1'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: activesupport
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
31
|
-
- -
|
37
|
+
- - ">="
|
32
38
|
- !ruby/object:Gem::Version
|
33
39
|
version: '3.2'
|
40
|
+
- - "<"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '5.1'
|
34
43
|
type: :runtime
|
35
44
|
prerelease: false
|
36
45
|
version_requirements: !ruby/object:Gem::Requirement
|
37
46
|
requirements:
|
38
|
-
- -
|
47
|
+
- - ">="
|
39
48
|
- !ruby/object:Gem::Version
|
40
49
|
version: '3.2'
|
50
|
+
- - "<"
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '5.1'
|
41
53
|
- !ruby/object:Gem::Dependency
|
42
54
|
name: request_store
|
43
55
|
requirement: !ruby/object:Gem::Requirement
|
44
56
|
requirements:
|
45
|
-
- - ~>
|
57
|
+
- - "~>"
|
46
58
|
- !ruby/object:Gem::Version
|
47
59
|
version: '1.0'
|
48
60
|
type: :runtime
|
49
61
|
prerelease: false
|
50
62
|
version_requirements: !ruby/object:Gem::Requirement
|
51
63
|
requirements:
|
52
|
-
- - ~>
|
64
|
+
- - "~>"
|
53
65
|
- !ruby/object:Gem::Version
|
54
66
|
version: '1.0'
|
55
67
|
- !ruby/object:Gem::Dependency
|
56
68
|
name: scrypt
|
57
69
|
requirement: !ruby/object:Gem::Requirement
|
58
70
|
requirements:
|
59
|
-
- -
|
71
|
+
- - ">="
|
60
72
|
- !ruby/object:Gem::Version
|
61
73
|
version: '1.2'
|
62
|
-
- - <
|
74
|
+
- - "<"
|
63
75
|
- !ruby/object:Gem::Version
|
64
|
-
version: '
|
76
|
+
version: '4.0'
|
65
77
|
type: :runtime
|
66
78
|
prerelease: false
|
67
79
|
version_requirements: !ruby/object:Gem::Requirement
|
68
80
|
requirements:
|
69
|
-
- -
|
81
|
+
- - ">="
|
70
82
|
- !ruby/object:Gem::Version
|
71
83
|
version: '1.2'
|
72
|
-
- - <
|
84
|
+
- - "<"
|
73
85
|
- !ruby/object:Gem::Version
|
74
|
-
version: '
|
86
|
+
version: '4.0'
|
75
87
|
- !ruby/object:Gem::Dependency
|
76
88
|
name: bcrypt
|
77
89
|
requirement: !ruby/object:Gem::Requirement
|
78
90
|
requirements:
|
79
|
-
- - ~>
|
91
|
+
- - "~>"
|
80
92
|
- !ruby/object:Gem::Version
|
81
93
|
version: '3.1'
|
82
94
|
type: :development
|
83
95
|
prerelease: false
|
84
96
|
version_requirements: !ruby/object:Gem::Requirement
|
85
97
|
requirements:
|
86
|
-
- - ~>
|
98
|
+
- - "~>"
|
87
99
|
- !ruby/object:Gem::Version
|
88
100
|
version: '3.1'
|
89
101
|
- !ruby/object:Gem::Dependency
|
90
102
|
name: timecop
|
91
103
|
requirement: !ruby/object:Gem::Requirement
|
92
104
|
requirements:
|
93
|
-
- - ~>
|
105
|
+
- - "~>"
|
94
106
|
- !ruby/object:Gem::Version
|
95
107
|
version: '0.7'
|
96
108
|
type: :development
|
97
109
|
prerelease: false
|
98
110
|
version_requirements: !ruby/object:Gem::Requirement
|
99
111
|
requirements:
|
100
|
-
- - ~>
|
112
|
+
- - "~>"
|
101
113
|
- !ruby/object:Gem::Version
|
102
114
|
version: '0.7'
|
115
|
+
- !ruby/object:Gem::Dependency
|
116
|
+
name: rubocop
|
117
|
+
requirement: !ruby/object:Gem::Requirement
|
118
|
+
requirements:
|
119
|
+
- - "~>"
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: 0.41.2
|
122
|
+
type: :development
|
123
|
+
prerelease: false
|
124
|
+
version_requirements: !ruby/object:Gem::Requirement
|
125
|
+
requirements:
|
126
|
+
- - "~>"
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: 0.41.2
|
103
129
|
description: A clean, simple, and unobtrusive ruby authentication solution.
|
104
130
|
email:
|
105
131
|
- bjohnson@binarylogic.com
|
@@ -107,13 +133,15 @@ executables: []
|
|
107
133
|
extensions: []
|
108
134
|
extra_rdoc_files: []
|
109
135
|
files:
|
110
|
-
- .gitignore
|
111
|
-
- .
|
136
|
+
- ".gitignore"
|
137
|
+
- ".rubocop.yml"
|
138
|
+
- ".rubocop_todo.yml"
|
139
|
+
- ".travis.yml"
|
112
140
|
- CHANGELOG.md
|
113
141
|
- CONTRIBUTING.md
|
114
142
|
- Gemfile
|
115
143
|
- LICENSE
|
116
|
-
- README.
|
144
|
+
- README.md
|
117
145
|
- Rakefile
|
118
146
|
- authlogic.gemspec
|
119
147
|
- lib/authlogic.rb
|
@@ -205,6 +233,7 @@ files:
|
|
205
233
|
- test/gemfiles/Gemfile.rails-4.0.x
|
206
234
|
- test/gemfiles/Gemfile.rails-4.1.x
|
207
235
|
- test/gemfiles/Gemfile.rails-4.2.x
|
236
|
+
- test/gemfiles/Gemfile.rails-5.0.x
|
208
237
|
- test/i18n/lol.yml
|
209
238
|
- test/i18n_test.rb
|
210
239
|
- test/libs/affiliate.rb
|
@@ -249,17 +278,17 @@ require_paths:
|
|
249
278
|
- lib
|
250
279
|
required_ruby_version: !ruby/object:Gem::Requirement
|
251
280
|
requirements:
|
252
|
-
- -
|
281
|
+
- - ">="
|
253
282
|
- !ruby/object:Gem::Version
|
254
283
|
version: '0'
|
255
284
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
256
285
|
requirements:
|
257
|
-
- -
|
286
|
+
- - ">="
|
258
287
|
- !ruby/object:Gem::Version
|
259
288
|
version: '0'
|
260
289
|
requirements: []
|
261
290
|
rubyforge_project:
|
262
|
-
rubygems_version: 2.
|
291
|
+
rubygems_version: 2.4.5.1
|
263
292
|
signing_key:
|
264
293
|
specification_version: 4
|
265
294
|
summary: A clean, simple, and unobtrusive ruby authentication solution.
|
@@ -291,6 +320,7 @@ test_files:
|
|
291
320
|
- test/gemfiles/Gemfile.rails-4.0.x
|
292
321
|
- test/gemfiles/Gemfile.rails-4.1.x
|
293
322
|
- test/gemfiles/Gemfile.rails-4.2.x
|
323
|
+
- test/gemfiles/Gemfile.rails-5.0.x
|
294
324
|
- test/i18n/lol.yml
|
295
325
|
- test/i18n_test.rb
|
296
326
|
- test/libs/affiliate.rb
|