Detect issues in Ruby 3 migration

Hi,
we are in the process of migrating a Rails app from version 2.6.7 to 3.3.6
For now, all the found issues are related to methods with a keyword arguments signature where we were passing a hash object without the splat operator:

for example, this will work in ruby 2.6.7 but not in ruby 3:

def foo(foo:, bar:); puts [foo, bar].inspect; end
params = { foo: "FOO", bar: "BAR" }
foo(params)

we’d need to call it with: foo(**params)

I’ve setup a SonarQube project with our repo but it couldn’t find these issues. Would be there a way to detect them?
Tests are passing but we might have missed some cases and would like to see if there are ways to increase the confidence level with the migration.

Thank you.

Hey there.

We do not have a rule that detects this (see the list of rules here)