Splat-expanding an empty array in a method call effectively reduces the argument to nothing (empty parentheses added for clarity):
def foo() end def bar(*ar
Try the below:
def baz() end def qux(**opts) baz(*opts) end qux
To see a bit more about how *hash works try the below:
h = {} puts h # {} puts *h # nothing output puts **h #{}