oddlyzen / toystore

ORM for key-value data stores

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Toystore

An object mapper for anything that can read, write and delete data.

See examples/ for potential direction. The idea is that any key-value store (via adapters) that supports read, write, delete will work (memcache, membase, mongo, redis, couch, toyko. Potentially even RESTFUL services or sqlite with a single key-value table?)

Mailing List

groups.google.com/forum/#!forum/toystoreadapter

Identity Map

By default, Toystore has identity map turned on. It assumes that any Toystore model has a unique id across all models. This means you either need to use the default uuid id’s or create your own key factory that namespaces to model (see examples).

You also need to clear the map before each request. For this, there is a provided piece of middleware that you can use.

use(Toy::Middleware::IdentityMap)

It is autoloaded, so just add it to your config.ru or sinatra/rails app as you would any other middleware and you are good to go.

Note on Patches/Pull Requests

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so we don’t break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine, but bump version in a commit by itself so we can ignore when we pull)

  • Send us a pull request. Bonus points for topic branches.

About

ORM for key-value data stores

License:BSD 3-Clause "New" or "Revised" License