昔はハッシュを使ってたんだよ
今は例のケースでハッシュ使うことはない
def initialize(noodles:, soup:, **options)のような形にする

どういう設計がいいかはラーメンクラスをどういう用途で使うかに依存するけど
メニューレベルの項目(醤油ラーメン)と好み(麺硬め)とトッピングオプション(煮玉子)を
すべて同列に扱うのがいい設計になるケースってのはあまりないと思う