Sorbetを使っている場合には型の恩恵を受けるためにHashの代わりにT::Structを使うことになるのですが継承はできません。つまり、下記のような簡潔な差分記述はできません(個人的にはこれが理想なのだが…)。
|
|
基本的にはコンポジションにするか、POROで継承する形で対応することになりますが、実際問題継承だと記述量が爆発していく(initializeのsigや引数がほぼコピペ、attr_readerも書く必要がある)のでコンポジションで対応するのが現時点では現実的対応になるかと思います。