mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-23 06:16:50 +00:00
48 lines
1.1 KiB
Ruby
48 lines
1.1 KiB
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].freeze
|
|
|
|
def get(path, *args)
|
|
fold_kwargs!(args)
|
|
super
|
|
end
|
|
|
|
def post(path, *args)
|
|
fold_kwargs!(args)
|
|
super
|
|
end
|
|
|
|
def patch(path, *args)
|
|
fold_kwargs!(args)
|
|
super
|
|
end
|
|
|
|
def put(path, *args)
|
|
fold_kwargs!(args)
|
|
super
|
|
end
|
|
|
|
# Fold kwargs from test request into args
|
|
# Band-aid for DEPRECATION WARNING
|
|
def fold_kwargs!(args)
|
|
hash = args && args[0]
|
|
return unless hash.respond_to?(:key)
|
|
Rails5Shims::ControllerTests::REQUEST_KWARGS.each do |kwarg|
|
|
next unless hash.key?(kwarg)
|
|
hash.merge! hash.delete(kwarg)
|
|
end
|
|
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
|