Skip to content

Commit 6ba63a4

Browse files
authored
Use Set to ensure unique arrays (#233)
Signed-off-by: Steven Hoffman <[email protected]>
1 parent b6f7012 commit 6ba63a4

File tree

6 files changed

+23
-41
lines changed

6 files changed

+23
-41
lines changed

lib/sorcery/controller/config.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ def init!
2525
:@user_class => nil,
2626
:@submodules => [],
2727
:@not_authenticated_action => :not_authenticated,
28-
:@login_sources => [],
29-
:@after_login => [],
30-
:@after_failed_login => [],
31-
:@before_logout => [],
32-
:@after_logout => [],
33-
:@after_remember_me => [],
28+
:@login_sources => Set.new,
29+
:@after_login => Set.new,
30+
:@after_failed_login => Set.new,
31+
:@before_logout => Set.new,
32+
:@after_logout => Set.new,
33+
:@after_remember_me => Set.new,
3434
:@save_return_to_url => true,
3535
:@cookie_domain => nil
3636
}

lib/sorcery/controller/submodules/activity_logging.rb

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,11 @@ def merge_activity_logging_defaults!
3030
end
3131
merge_activity_logging_defaults!
3232
end
33-
# FIXME: There is likely a more elegant way to safeguard these callbacks.
34-
unless Config.after_login.include?(:register_login_time_to_db)
35-
Config.after_login << :register_login_time_to_db
36-
end
37-
unless Config.after_login.include?(:register_last_ip_address)
38-
Config.after_login << :register_last_ip_address
39-
end
40-
unless Config.before_logout.include?(:register_logout_time_to_db)
41-
Config.before_logout << :register_logout_time_to_db
42-
end
33+
34+
Config.after_login << :register_login_time_to_db
35+
Config.after_login << :register_last_ip_address
36+
Config.before_logout << :register_logout_time_to_db
37+
4338
base.after_action :register_last_activity_time_to_db
4439
end
4540

lib/sorcery/controller/submodules/brute_force_protection.rb

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,9 @@ module Submodules
1010
module BruteForceProtection
1111
def self.included(base)
1212
base.send(:include, InstanceMethods)
13-
# FIXME: There is likely a more elegant way to safeguard these callbacks.
14-
unless Config.after_login.include?(:reset_failed_logins_count!)
15-
Config.after_login << :reset_failed_logins_count!
16-
end
17-
unless Config.after_failed_login.include?(:update_failed_logins_count!)
18-
Config.after_failed_login << :update_failed_logins_count!
19-
end
13+
14+
Config.after_login << :reset_failed_logins_count!
15+
Config.after_failed_login << :update_failed_logins_count!
2016
end
2117

2218
module InstanceMethods

lib/sorcery/controller/submodules/http_basic_auth.rb

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,8 @@ def merge_http_basic_auth_defaults!
1919
end
2020
merge_http_basic_auth_defaults!
2121
end
22-
# FIXME: There is likely a more elegant way to safeguard these callbacks.
23-
unless Config.login_sources.include?(:login_from_basic_auth)
24-
Config.login_sources << :login_from_basic_auth
25-
end
22+
23+
Config.login_sources << :login_from_basic_auth
2624
end
2725

2826
module InstanceMethods

lib/sorcery/controller/submodules/remember_me.rb

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,9 @@ def merge_remember_me_defaults!
1717
end
1818
merge_remember_me_defaults!
1919
end
20-
# FIXME: There is likely a more elegant way to safeguard these callbacks.
21-
unless Config.login_sources.include?(:login_from_cookie)
22-
Config.login_sources << :login_from_cookie
23-
end
24-
unless Config.before_logout.include?(:forget_me!)
25-
Config.before_logout << :forget_me!
26-
end
20+
21+
Config.login_sources << :login_from_cookie
22+
Config.before_logout << :forget_me!
2723
end
2824

2925
module InstanceMethods

lib/sorcery/controller/submodules/session_timeout.rb

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,10 @@ def merge_session_timeout_defaults!
2323
end
2424
merge_session_timeout_defaults!
2525
end
26-
# FIXME: There is likely a more elegant way to safeguard these callbacks.
27-
unless Config.after_login.include?(:register_login_time)
28-
Config.after_login << :register_login_time
29-
end
30-
unless Config.after_remember_me.include?(:register_login_time)
31-
Config.after_remember_me << :register_login_time
32-
end
26+
27+
Config.after_login << :register_login_time
28+
Config.after_remember_me << :register_login_time
29+
3330
base.prepend_before_action :validate_session
3431
end
3532

0 commit comments

Comments
 (0)