A plugin for the Merb framework that provides DataMapper access


  • Automatic connection to a data-store through DataMapper, via database.yml

  • Easy use of multiple repositories.

  • Generators for models, controllers and migrations.

  • Sessions stored in a data-store managed by DataMapper

  • wraps actions in DataMapper repository blocks, to enable the IdentityMap


To use sessions:

  1. set the session store to datamapper in init.rb:

    Merb::Config.use { |c|
      c[:session_store] = 'datamapper'
  2. add the dependency in init.rb:

    use_orm :datamapper

Sessions can be configured by a few plugin options:


The name of the table to use to store the sessions (defaults to 'session')


The repository to use for sessions. (defaults to :default)

Repository Blocks

Repository Blocks are a DataMapper feature, which enables the use of the DataMapper IdentityMap, which can help with certain DataMapper features such as strategic eager loading. Read on for more information on these features.

If, for whatever reason, it doesn't suit you, it can be disabled via setting the :use_reposity_block option to false.

Merb::Plugins[:merb_datamapper][:use_reposity_block] = false