chef-cookbooks / runit

Development repository for the Chef Runit Cookbook
https://supermarket.chef.io/cookbooks/runit
Apache License 2.0
106 stars 197 forks source link

Make call to shell_out compatible with Ruby 3 #257

Closed foygl closed 2 years ago

foygl commented 2 years ago

Description

In previous versions of Ruby, calling shell_out("cmd", { blah : "blah" }) would be interpreted correctly here as args = "cmd" and options = { blah : "blah" }.

However because this can be ambiguous to interpret, Ruby would give the warning:

warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call

As of Ruby 3, shell_out("cmd", { blah : "blah" }) will be interpreted as args = ["cmd", { blah : "blah" }] and options = {}.

This can be fixed by passing in the options parameter with a double splat (**) in front of it to explicitly convert the hash into a keyword argument.

Issues Resolved

No open issues.

Check List