"Maurício Linhares" <[EMAIL PROTECTED]> writes:

> What you could do is write a simple persistence solution that "looks like"
> active record but using a simpler model (based on your ideas), removing all 
> the
> SQL and things that resemble a relational database. You could take a look at
> ActiveResource and the way it behaves to get an idea about how you could build
> your API.
>

Hi Maurício,

Thanks for the suggestion.  The problem with using something aside from
ActiveRecord is that you lose all of the view/form helpers, and (i
think) you also lose the has_many helper methods as well, so you'd
ultimately lose a large portion of the utility of the Rails framework.
It seems that IMO all of these helpers should be tied to a Module say
RailsModel or something which ActiveRecord, ActiveResource, etc... would
include.  I don't know how if this would introduce too much indirection
into the Rails framework, but it would make it much easier to introduce
alternative storage mechanisms.  I don't know much about Merb, but maybe
it already contains something similar?

Thanks -- Eric

>
> On Tue, Oct 7, 2008 at 9:24 PM, Eric Schulte <[EMAIL PROTECTED]> wrote:
>
>
>     Hi,
>
>     I hoping to find/write an ActiveRecord backend which stores each record
>     as a file in a directory, rather than as a row in a table in a database.
>     I'm not concerned about scaling or concurrency issues.  My questions
>     are...
>
>     1) Does such a backend exist?
>     2) Is there some logical inconsistency between the behavior of
>       ActiveRecord and the limits of a filesystem?
>     3) Where should implementation of such a backend begin? should I define
>       an AbstractAdapter? or should I scrap ActiveRecord all together, and
>       try to use another class as the base of my models?
>
>     In terms of what this would look like, I'm thinking that each record
>     would have a string id, which would serve as the file name, either a
>     single text field aside from the ID and would be equal to the entire
>     file contents, or allow for multiple attributes, and save them into the
>     file in the form of a YAML hash.
>
>     The use case which got me thinking of this was the desire to have an
>     rails application which users would often run locally on their own
>     machine, but with which they could share (active)records with other
>     users running other copies of the application on their machines.  If the
>     records were saved as files, then
>
>     1) it would be easy for users to browse/inspect the records outside of
>       the application
>     2) the sharing and merging of the records across instances could use
>       some existing distributed VC system like GIT
>
>     the actual application could fairly easily wrap some simplifying UI
>     elements around something like git which could handle the pushing
>     pulling and merging of actual records between instances all the while
>     tracking who made what changes when.
>
>     Please don't hesitate to tell me if you think there are reasons why this
>     wouldn't/shouldn't work. Thanks -- Eric
>
>
>
>
>
>
> --
> Maurício Linhares
> http://alinhavado.wordpress.com/ (pt-br) | http://blog.codevader.com/ (en)
> João Pessoa, PB, +55 83 8867-7208
>
> 

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to