トレイト

factory定義ブロック内でtraitメソッドを使うと、ファクトリの変更内容が名前付きで定義されます。

トレイトメソッドは名前 (Symbol) とブロックを取ります。 ブロックはfactory定義ブロックのように扱います。

早道についてはmethod_missingを参照してください。