umuro / active_record_like

ActiveRecord now delegates persistance to other mediums. Potentially your ActiveRecords might be coming from XML, LDAP, Memcache or even C# libraries! See sample_active_record_like to see it in action.

This URL has Read+Write access

umuro (author)
Wed Apr 15 04:18:55 -0700 2009
commit  9e43eb14b499bb4520134712875053a31fb31476
tree    eec8a01f121715c70cfbfdc96b3c9749e2e653c8
parent  68efb02f099781d15ad4459996ed7f11cfcdf0e9
README
ActiveRecordLike
================

You can delegate persistance to other mediums instead of SQL. Be it XML, Memcache, LDAP, even a C# object, whatever.
ActiveRecordLike gets a storage adapter and uses it instead of SQL unlike the ActiveRecord itself.
You can adapt, scaffold and show anything at all.

Unit tests include an example CacheAdapter where the ActiveRecords are going to the cache as the storage directly. 
Using CacheAdapter as an example you can write new storage adapters.

I actually used this library to scaffold objects returned by a C# library!

Copyright (c) 2009 [Umur Ozkul <umur.ozkul@gmail.com>], released under the MIT license

Requirements for parent project
===============================
git submodule add git://github.com/umuro/active_record_base_without_table.git 
vendor/plugins/active_record_base_without_table
git submodule add git://github.com/assaf/uuid.git vendor/plugins/uuid

environment.rb:
  config.gem "haml", :version => '2.0.9'
  config.gem "thoughtbot-shoulda", :lib => "shoulda", :version => '2.9.1', :source=>"http://gems.github.com"
  config.gem "thoughtbot-factory_girl", :lib => "factory_girl", :version => '1.2.0', :source=>"http://gems.github.com"
  config.gem "macaddr", :version => '1.0.0' # For ActiveRecordLike"
  config.gem "treetop", :version => '1.2.4' # For ActiveRecordLike"
  config.gem  'patternmatching',  :version=>'0.2.5' 
  config.gem 'mocha', :version=>'0.9.5'