dcparker / simplemapper

A lightweight ORM that gets all its abilities from plugins. A decent ActiveResource replacement. Can handle cross-database associations, complex data types.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

== SimpleMapper

The purpose of this is to provide Ruby models with Persistence in the simplest way possible.
Like all ORM's it must be based on two components: Format and Connection. The aim is to stay out of the way
as much as possible: Format will be performed by calling, for example a Person class using the xml format:
'@person.to_xml', and likewise 'Person.from_xml'.

SimpleMapper will hold no concept of primary keys or even of properties or attributes. It will be data-agnostic.
It will simply handle the transformation and communication of data while providing a common method interface
in order to remove the model from the persistence.

The connection class will simply work with the idea of messages sent by adapters. All adapters must respond to these methods
appropriately: get, put, post, and delete. These correspond directly to HTTP methods, and correspond to SQL commands
in the order of SELECT, UPDATE, INSERT, and DELETE. It is up to an extraneous library/gem to handle conversions of special
"finder" options, like converting an options hash to a sql SELECT request, or mapping an options hash to an HTTP request.
It is purposed to make it as light and simple as possible to plug these in.

About

A lightweight ORM that gets all its abilities from plugins. A decent ActiveResource replacement. Can handle cross-database associations, complex data types.

License:MIT License


Languages

Language:Ruby 100.0%