devise icon indicating copy to clipboard operation
devise copied to clipboard

Fix method redefined warnings

Open bkuhlmann opened this issue 3 years ago • 0 comments

Environment

  • Ruby ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [arm64-darwin21.2.0]
  • Rails 7.0.1
  • Devise 4.8.1

Current behavior

Hello. :wave: I've been seeing the following in my logs when running specs:

/Users/bkuhlmann/.cache/frum/versions/3.1.0/lib/ruby/gems/3.1.0/gems/devise-4.8.1/lib/devise/controllers/helpers.rb:116: warning: method redefined; discarding old authenticate_user!
/Users/bkuhlmann/.cache/frum/versions/3.1.0/lib/ruby/gems/3.1.0/gems/devise-4.8.1/lib/devise/controllers/helpers.rb:116: warning: previous definition of authenticate_user! was here
/Users/bkuhlmann/.cache/frum/versions/3.1.0/lib/ruby/gems/3.1.0/gems/devise-4.8.1/lib/devise/controllers/helpers.rb:121: warning: method redefined; discarding old user_signed_in?
/Users/bkuhlmann/.cache/frum/versions/3.1.0/lib/ruby/gems/3.1.0/gems/devise-4.8.1/lib/devise/controllers/helpers.rb:121: warning: previous definition of user_signed_in? was here
/Users/bkuhlmann/.cache/frum/versions/3.1.0/lib/ruby/gems/3.1.0/gems/devise-4.8.1/lib/devise/controllers/helpers.rb:125: warning: method redefined; discarding old current_user
/Users/bkuhlmann/.cache/frum/versions/3.1.0/lib/ruby/gems/3.1.0/gems/devise-4.8.1/lib/devise/controllers/helpers.rb:125: warning: previous definition of current_user was here
/Users/bkuhlmann/.cache/frum/versions/3.1.0/lib/ruby/gems/3.1.0/gems/devise-4.8.1/lib/devise/controllers/helpers.rb:129: warning: method redefined; discarding old user_session
/Users/bkuhlmann/.cache/frum/versions/3.1.0/lib/ruby/gems/3.1.0/gems/devise-4.8.1/lib/devise/controllers/helpers.rb:129: warning: previous definition of user_session was here
/Users/bkuhlmann/.cache/frum/versions/3.1.0/lib/ruby/gems/3.1.0/gems/devise-4.8.1/lib/devise/controllers/helpers.rb:136: warning: method redefined; discarding old current_user
/Users/bkuhlmann/.cache/frum/versions/3.1.0/lib/ruby/gems/3.1.0/gems/devise-4.8.1/lib/devise/controllers/helpers.rb:136: warning: previous definition of current_user was here
/Users/bkuhlmann/.cache/frum/versions/3.1.0/lib/ruby/gems/3.1.0/gems/devise-4.8.1/lib/devise/controllers/helpers.rb:136: warning: method redefined; discarding old user_signed_in?
/Users/bkuhlmann/.cache/frum/versions/3.1.0/lib/ruby/gems/3.1.0/gems/devise-4.8.1/lib/devise/controllers/helpers.rb:136: warning: previous definition of user_signed_in? was here
/Users/bkuhlmann/.cache/frum/versions/3.1.0/lib/ruby/gems/3.1.0/gems/devise-4.8.1/lib/devise/controllers/helpers.rb:136: warning: method redefined; discarding old user_session
/Users/bkuhlmann/.cache/frum/versions/3.1.0/lib/ruby/gems/3.1.0/gems/devise-4.8.1/lib/devise/controllers/helpers.rb:136: warning: previous definition of user_session was here

Expected behavior

I would expect those warnings to not be there but seems like methods are being constantly redefined?

Steps to Recreate

You should be able to easily recreate this issue by launch your test suite with warnings enabled. For instance, in RSpec this looks like the following:

RSpec.configure do |config|
  config.warnings = true
end

bkuhlmann avatar Jan 21 '22 00:01 bkuhlmann