Project

mem_model

0.0
No commit activity in last 3 years
No release in over 3 years
MemModel persists Ruby objects using MagLev as a data storage engine. It's an ActiveModel implementation so it works stand-alone or in Rails 3 as a drop-in replacement for ActiveRecord or DataMapper. If MemModel is used in non-MagLev platforms, objects will be persisted to in-memory sets.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

 Project Readme

MemModel Ver Bld Cov

MemModel persists Ruby objects using MagLev as a data storage engine. It is an ActiveModel compliant implementation so it works stand-alone or in Rails 3 as a drop-in replacement for ActiveRecord or DataMapper.

If MemModel is used in non-MagLev platforms, objects will be persisted to in-memory sets.

Installation

Run gem install mem_model to install the gem on its own.

Or you can add the following to your Gemfile and run the bundle command to install it.

gem 'mem_model'
Development

If you'd like to work on this project first make sure you have the hoe gem installed (gem install hoe if not), then run rake newb from the mem_model project directory.

Example

require 'mem_model'

class Account
  include MemModel::Base
  attr_accessor :balance
  validates_presence_of :balance
end

checking = Account.new  #=> #<Account balance: nil, id: 17338520>
checking.valid?         #=> false
checking.balance = 100  #=> 100
checking.valid?         #=> true

checking.save           #=> 17338520
checking.new?           #=> false
Account.size            #=> 1
Account.first           #=> #<Account balance: 100, id: 17338520>

Similar stuff

This stuff has been very helpful in working on MemModel.

Projects
  • Tesla: MagLev niceties like models... and signs
  • Supermodel. Simple in-memory database using ActiveModel. Primarily developed for Bowline applications.
  • ActiveAttr: What ActiveModel left out
  • MagLevRecord: MagLev persistence with an ActiveRecord-like interface!
Docs
Examples
  • Blog Data Migration Example: create a blog, add attributes, migrate existing instances
  • K-d Tree: includes a Google Maps example using zipcodes
  • Indexing: use unordered collections with MagLev's built-in indexing support
  • Points: shows two approaches of handling data migration using a Point class.

Contributing

If you'd like to contribute to MemModel, that's awesome. There's a guide to contributing (both code and general help) over in CONTRIBUTING.md

Development

To see what has changed in recent versions, see the CHANGELOG.md.