今回から 0.10.2 のコードへ突入.
その前に,0.9.11 のコードを読み進めたときの反省点.
- 全体像の把握をきちんとしていなかった
- 気づいたら深さ優先になってた
- 図がない!
- 自分で読み返してもわかりづらい!
と,いうわけで,気をつけろよ!>自分
パッケージ
- dm-core
- コアパッケージ.DataMapper の基本的な機能が含まれる.DataMapper::Resource とかはここに入ってる.
- do
- Database Driver 集.DataObjects モジュールとして interface が定義されている.do_mysql や do_sqlite3 等はここに含まれている.
- dm-more
Extra, non-essential parts for DataMapper Including * Migrations * Validations * Serializers * A Command-Line Interface * Timestamps * Types * ActiveRecord-style finders * Adapters for your favorite repository or database type * Integration with your favorite web frameworks * Observers for watching resources.
- extlib
- サポートライブラリ.主に ruby 標準クラスの拡張が含まれている.lazy_array とかはここに入ってる.
- data_mapper
- よく使われるパッケージを一括して require.
- dm-core
- dm-aggregates
- dm-constraints
- dm-migrations
- dm-serializer
- dm-timestamps
- dm-validations
- dm-types
- よく使われるパッケージを一括して require.