active_model_serializers/test/support/rails5_shims.rb
Benjamin Fleischer c56d49f26b Test keyword args in requests for Rails 5; fallback for earlier versions
kwargs: params,session,flash,method,body

Fix Rails 5 DEPRECATION WARNING
2015-11-25 21:56:02 -06:00

30 lines
871 B
Ruby

module Rails5Shims
module ControllerTests
# https://github.com/rails/rails/blob/b217354/actionpack/lib/action_controller/test_case.rb
REQUEST_KWARGS = [:params, :session, :flash, :method, :body, :xhr]
# Fold kwargs from test request into args
# Band-aid for DEPRECATION WARNING
def get(path, *args)
hash = args && args[0]
if hash.respond_to?(:key)
Rails5Shims::ControllerTests::REQUEST_KWARGS.each do |kwarg|
next unless hash.key?(kwarg)
hash.merge! hash.delete(kwarg)
end
end
super
end
# Uncomment for debugging where the kwargs warnings come from
# def non_kwarg_request_warning
# super.tap do
# STDOUT.puts caller[2..3]
# end
# end
end
end
if Rails::VERSION::MAJOR < 5
ActionController::TestCase.send :include, Rails5Shims::ControllerTests
end