メタプロミングは奥が深くて楽しいが、やり過ぎると暗黒面に堕ちてしまう。効果的な使い方を心掛けていきたい。組み合わせることで更に効果的となる。とっつきにいところもあり、コンパクトにまとまった文書がないかと探していた。Toolbox上記サイトなどはコンパクトによくまとまっているように思う。メタプログラミングに必要となる、通常はあまり使用しないメソッドをメタプログラミングツールボックスというかたちでリストアップし、その説明はドキュメントへのレファレンスで構成している。簡易実装をサンプルとして掲載している。クラスと任意のクラスとの関連。メソッド参照のルールもしっかり抑えておく必要があるようには思う。その方が混乱が少なくて済む。以下のサイトで再掲されているようだ。(日本語翻訳版)時間を見つけて以下のサイトを読み込んでみるのも良さそうだ。購入して読んでみようと思う。版で書いてみて、使用されているツールボックスのツールを確認してみたいと思う。簡易実装を記載している。用意しておく必要がある。create-table.sqlファイルの内容は以下の通り。creat-table.sqlポイントメモ幾つかポイントをメモ。クラスのサブクラスとなる各テーブルのクラスを生成している。場合、クラス名は全て定数となる。サブクラスを指定している。メソッドには、インスタンスメソッドとクラスメソッドがある。上記で利用しているのはクラスメソッド(Class::new)の方になる。無名のサブクラスを生成する。SuperAClassコードブロックを預けてメソッドを定義することもできる。動的なアクセサの生成とコンストラクタによる値のセット動的なアクセサを用意しているところ。endテーブルのフィールドをイテレートし、そのテーブルクラスの読み書き両用のインスタンス変数を生成している。次に値をセットしているところ。文字列連結しているところはちょっとカッコ悪いが致し方ない。メソッドが利用される実際に値をセットしているところは以下の箇所となる。