class OpenStruct

http://doc.loveruby.net/refm/api/view/class/OpenStruct

OpenStructのインスタンスに対して未定義なセッターメソッド x= を呼ぶと、 OpenStructクラスのObject#method_missingで捕捉され、インスタンスに属性 x が定義されます。 この挙動によって要素を動的に変更できる構造体として働きます。

お、これ便利じゃね?