This seems a little OT, but you might find it useful.

Emil Marceta, a local Ruby guy here in Vancouver wrote this post to the
vanruby.com mailing list.

http://lists.vanruby.com/pipermail/discuss/2006-January/000050.html

It describes how to use ActiveRecord's validations against table-less data
model based on Rick Olsen's code here:

http://rails.techno-weenie.net/tip/2005/11/19/validate_your_forms_with_a_tab
le_less_model

-Nb

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Nathaniel S. H. Brown                           http://nshb.net 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf 
> Of Kevin Clark
> Sent: February 13, 2006 8:16 PM
> To: [email protected]
> Subject: Re: [Rails-core] "ActiveRecord" for Non-SQL Data Sources?
> 
> Ernie,
> I think it is great that you were able to modify ActiveRecord 
> for you needs.  You might want to pull your changes into a 
> plugin where others could easily use your new code. That 
> being said, I don't think something like this would go well 
> in core. Plugins were created exactly for this situation 
> though, so all is well.
> Kev
> 
> On 2/13/06, Dr. Ernie Prabhakar <[EMAIL PROTECTED]> wrote:
> > Hi all,
> >
> > I'm trying to do something a wee bit crazy, and would love 
> to get your 
> > combined wisdom on how to proceed.  I've looking at ways to 
> get Rails 
> > working with Mac OS X's CoreData framework:
> >
> > http://www.opendarwin.org/~drernie/B2126242314/C499496031/
> > E20051019100520/index.html
> >
> > When I asked DHH about Active Record, he replied:
> >
> > On Jan 3, 2006, at 9:04 PM, David Heinemeier Hansson wrote:
> > > Active Record is very deeply tied to SQL. By design. Non-SQL data 
> > > sources should just create their own AR-flavored framework. See 
> > > ActiveLDAP as an example: http://rubyforge.org/projects/ruby-
> > > activeldap/
> >
> > So, I looked at ActiveLDAP, and was rather disappointed.  Not as a 
> > criticism of them, but compared to ActiveRecord it didn't 
> have all the 
> > bells-and-whistles I was looking for, such as:
> >
> > . conventions for automatically mapping classes onto 
> back-end entities 
> > . flexible method names for accessing attributes . 
> dynamically-loaded 
> > adapter plug-ins for various datastores
> >
> > After trying various options (such as cut-and-paste and 
> refactoring), 
> > I reluctantly concluded that the simplest way to achieve my 
> goal would 
> > be to simply replace the SQL portions of ActiveRecord with a more 
> > general "query" mechanism:
> >
> > http://www.opendarwin.org/~drernie/B2126242314/C499496031/
> > E20060105103606/index.html
> >
> > Of course, this solution is itself problematic.  The 
> simplest solution 
> > (copy and then cut) would result in my duplicating huge amounts of 
> > ActiveRecord code -- which I understand poorly, and would surely 
> > bitrot.
> >
> > The only alternative, it would seem, would be to abstract 
> away the SQL 
> > dependence of ActiveRecord -- the very thing DHH warned
> > against.   So, despite full knowledge that "fools rush in where
> > angels fear to tread", I decided to give it a shot, to at least 
> > estimate the difficulty. The results are here:
> >
> > http://www.opendarwin.org/~drernie/src/ActiveRecord-nonSQL.zip
> >
> > I have to say, it actually wasn't all that bad. There's 
> only a finite 
> > set of methods that actually generate SQL, which I changed 
> to operate 
> > on a generic "query" object. There's some subtleties 
> involved in how 
> > to handle quoting, and of course app-generated SQL would only work 
> > with an SQL-based adapter, but (at least for me) that would be an 
> > acceptable tradeoff.  As a side-benefit, it seems to me that this 
> > might actually simplify the development of adaptors, while still 
> > maintaining backward compatibility.
> >
> > Of course, if people actively override the affected methods 
> to change 
> > the semantics and regenerate SQL, such patches would become 
> horribly 
> > broken, which means this proposal would be dead in the water.  But 
> > perhaps it is anyway.
> >
> > That's why I'm asking, to see how people feel about this 
> approach, and 
> > find out whether there's a better way to achieve my goals, 
> or whether 
> > I just have to scale back my ambitions.
> >
> > Thanks,
> > -- Ernie P._______________________________________________
> > Rails-core mailing list
> > [email protected]
> > http://lists.rubyonrails.org/mailman/listinfo/rails-core
> >
> 

_______________________________________________
Rails-core mailing list
[email protected]
http://lists.rubyonrails.org/mailman/listinfo/rails-core

Reply via email to