-
Notifications
You must be signed in to change notification settings - Fork 153
Roadmap
This page is currently a work-in-progress. The foundational work for DataMapper is happening in the veritas namespace, while DataMapper 2 will consist of a Mapper and glue code to pull in veritas, data_objects and other gems depending on the datastore.
This page will be updated once the DM core team has decided on the initial priorities for the outsanding tasks.
The high level design of DataMapper 2 should match the following:
The first pass has been done on the green section, and we have the Relation and Optimizer layers, as well as an RDBMS Adapter layer for PostgreSQL is ready for testing.
Virtus handles the Model and Introspection layers, although DM will be designed to map to any ruby object, not just those that are defined with Virtus. The primary benefit Virtus brings is that it provides a simple declarative API to define your models, and the mapping can be derived from this without manual mapping. It will be possible to map to a normal ruby object, except that the mapping will need to be manually specified.
The Mapper layer really is the core part of DataMapper 2. It’s what sits in between the Relation and the object. It should be relatively minimal and provide a Virtus-specific mapper that provides DataMapper 1 style mapping, as well as a base class that provides a way to manually map objects to relations.