Simple in-memory database using ActiveModel. Primarily developed for Bowline applications. http://github.com/maccman/bowline Supports: * Serialisation * Validations * Callbacks * Observers * Dirty (Changes) * Ruby Marshalling to disk * Redis Examples: require "supermodel" class Test < SuperModel::Base end t = Test.new t.name = "foo" t.save #=> true Test.all Test.first Test.last Test.find_by_name('foo) You can use a random ID rather than the object ID: class Test < SuperModel::Base include SuperModel::RandomID end t = Test.create(:name => "test") t.id #=> "7ee935377bb4aecc54ad4f9126" You can marshal objects to disk on startup/shutdown class Test < SuperModel::Base include SuperModel::Marshal::Model end SuperModel::Marshal.path = "dump.db" SuperModel::Marshal.load at_exit { SuperModel::Marshal.dump } You can use Redis, you need the Redis gem installed: require "redis" class Test < SuperModel::Base include SuperModel::Redis::Model attributes :name indexes :name end Test.find_or_create_by_name("foo")
Project
supermodel
In memory DB using ActiveModel
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
Pull Requests
Development
Dependencies
Runtime
~> 3.0.0
Project Readme