CurlyMustache

Like ActiveRecord, but uses key-value stores (Memcached, Redis, Tokyo Cabinet, etc) instead of relational databases.

This is experimental and not used in any production environments yet.

github.com/cjbottaro/curly_mustache

Installation

sudo gem install --source http://gems.github.com cjbottaro-curly_mustache

Features

  • Basic ActiveRecord-like CRUD operations (create, destroy, find, save).

  • Simple associations.

  • Validations (TODO)

  • Callbacks (TODO)

Connecting

CurlyMustache::Base.establish_connection :adapter => :memcache,
                                         :servers => %w[one.example.com:11211 two.example.com:11211],

The memcache adapter uses memcache-client. Whatever other options you pass to establish_connection will be passed to the constructor for it.

Usage

class User < CurlyMustache::Base
  attribute :name,          :string
  attribute :birthday_on,   :date
  attribute :login_count,   :integer
  attribute :last_login_at, :time
end

user = User.create :name => "chris"
user.id                             # => "676cef021584904876af7c4b3e42afb5"
user.name                           # => "chris"
user.birthday_on = "03/11/1980"
user.save

user = User.find(user.id)
puts user.birthday_on               # => "Tue, 11 Mar 1980"
user.birthday_on.class              # => Date

user.destroy
User.find(user.id)                  # => exception CurlyMustache::RecordNotFound