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")
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