если максимум два аргумента, зачем вообще использовать такой оператор splat? Просто будьте явными. (если нет каких-то других ограничений, о которых вы нам не сказали.)
def foo(arg1, arg2)
# ...
end
Или ...
def foo(arg1, arg2=some_default)
# ...
end
Или даже ...
def foo(arg1=some_default, arg2=some_other_default)
# ...
end