omnidata¶ ↑
warning: Currently in super alpha stage, everything’s subjected to change.
Omnidata
allows you to define your models in persistence agnostic fashion, so model can be saved in any database you like, mongodb, couchdb, redis, etc.
Gem uses Virtus for defining attributes.
For example:
Omnidata.setup_database(:db1, {:adapter => 'mongodb', :database => 'mydb'}) Omnidata.setup_database(:db2, {:adapter => 'mongodb', :database => 'mydb2'}) class User include Omnidata::Model use_database :db1 attribute :name, String attribute :age, Integer end user = User.new(:name => 'Jack Hunt', :age => 27) user.save User.find(user.id) # to switch to another db temporarily. User.with_database(:db2) do User.find(user.id) end