Я хотел бы иметь метод, который принимает хэш и необязательный аргумент ключевого слова. Я попытался определить такой метод:
def foo_of_thing_plus_amount(thing, amount: 10)
thing[:foo] + amount
end
Когда я вызываю этот метод с аргументом ключевого слова, он работает так, как я ожидаю:
my_thing = {foo: 1, bar: 2}
foo_of_thing_plus_amount(my_thing, amount: 20) # => 21
Однако, когда я опускаю аргумент ключевого слова, хеш съедается:
foo_of_thing_plus_amount(my_thing) # => ArgumentError: unknown keywords: foo, bar
Как я могу предотвратить это? Есть ли такая вещь, как антисплат?