-
Notifications
You must be signed in to change notification settings - Fork 46
Ruby in-memory models
License
maccman/supermodel
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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")
About
Ruby in-memory models
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published