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

active_record_like / README
100644 28 lines (21 sloc) 1.427 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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'