Skip to content

Commit e68c75c

Browse files
committed
Session stores are not always subclasses of ActionDispatch::Session::AbstractStore
Fixes #3076, refs. redis-store/redis-actionpack#22
1 parent c427553 commit e68c75c

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

lib/rails_admin/engine.rb

+5-2
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,12 @@ class Engine < Rails::Engine
4343
Dir[File.join(File.dirname(__FILE__), '../tasks/*.rake')].each { |f| load f }
4444
end
4545

46-
# Check for required middlewares, can be missing in Rails API mode
46+
# Check for required middlewares, users may forget to use them in Rails API mode
4747
config.after_initialize do |app|
48-
has_session_store = app.config.middleware.to_a.any? { |m| m.klass.try(:<=, ActionDispatch::Session::AbstractStore) } || ::Rails.version < '5.0'
48+
has_session_store = ::Rails.version < '5.0' || app.config.middleware.to_a.any? do |m|
49+
m.klass.try(:<=, ActionDispatch::Session::AbstractStore) ||
50+
m.klass.name =~ /^ActionDispatch::Session::/
51+
end
4952
loaded = app.config.middleware.to_a.map(&:name)
5053
required = %w(ActionDispatch::Cookies ActionDispatch::Flash Rack::MethodOverride)
5154
missing = required - loaded

0 commit comments

Comments
 (0)