DataMapper
DataMapper is an object-relational mapper library written in Ruby that follows the active record pattern even though the name implies it follows the data mapper pattern. While DataMapper 1 may not have achieved total decoupling between object and database suggested by the data mapper pattern, it appears DataMapper 2 intended to change this. The DataMapper 2 project was renamed before launch and was released as Ruby Object Mapper in August 2013.
Some features of DataMapper:
- Eager loading of child associations to avoid queries
- Lazy loading of select properties, e.g., larger fields
- Query chaining, and not evaluating the query until absolutely necessary
- An API not too heavily oriented to SQL databases