С другой стороны, это относится не только к Ruby, но и ко всем языкам:
В API, которые находятся в потоке, иногда полезно объявить некоторые или все параметры функции как один объект параметров (в Ruby это могут быть хэши, структуры C и т. Д.), Чтобы поддерживать API стабильность в случае изменения набора принятых аргументов в будущих версиях. Однако очевидным недостатком является то, что читаемость резко снижается, и я бы никогда не использовал этот «шаблон», если бы мне действительно не пришлось это делать.