Hello, *Arel *is a Relational Algebra for Ruby and if I can recall correctly at the moment it uses ActiveRecord's connection adapters. It would be useful to make it standalone but since it's quite dependent on Rails, any unconvincing use-cases for Rails app will never be appreciated. In that case, making it independent of Rails sounds like the first logical step.
Please give your opinion. Anuj @andhapp On 26 April 2011 21:17, Arthur Taylor <[email protected]> wrote: > Oh, there isn't. The question is really whether the current Arel library > is still useful as a standalone library (could be made useful without > too much bloat) or whether Arel-standalone should be developed separately. > > Arthur > > On 26/04/11 22:05, Jason King wrote: > > I don't see that the use case is that compelling for the majority of > > Rails apps . > > > > On Tue, Apr 26, 2011 at 12:51 PM, Arthur Taylor > > <[email protected] <mailto:[email protected]>> wrote: > > > > Aaron, all, > > > > Did anyone have any strong feelings about the following feature - > > is it > > something that it's going to be possible to get included (possibly > > in a > > prettied up form), or am I better forking / monkey-patching? > > > The idea with the placeholders is that you could have one query > > which > > > serializes differently to SQL (or through any of the visitors) > > > depending on the dynamic value of the placeholders. The effect I > > want > > > (and am using in my local repo) is not to have to define the > > values of > > > all the query terms at query build time: > > > > > > @placeholders = { :username => "bob" } > > > > > > query = > > > > > > @users.project(@users[:id]).where(@users[:name].eq(Arel::Nodes::Placeholder.new(:username, > > > @placeholders))) > > > query.to_sql => "SELECT `users`.`id` FROM `users` WHERE > > > `users`.`name` = 'bob'" > > > > > > @placeholders[:username] = "adam" > > > query.to_sql => "SELECT `users`.`id` FROM `users` WHERE > > `users`.`name` > > > = 'adam'" > > > > > > Make sense? Sound useful? I'm not sure that's the most elegant > > API in > > > the world (in fact I'm pretty sure it's not), but I'm open to > > > suggestions as to pretty ways to achieve the same thing. > > > > > The other design I considered would be: > > > > @placeholders = Arel::Placeholders.new(:username => "bob") > > > > query = > > > @users.project(@users[:id]).where(@users[:name].eq(@placeholders.for_key(:username))) > > query.to_sql => "SELECT `users`.`id` FROM `users` WHERE > > `users`.`name` > > = 'bob'" > > > > @placeholders.update(:username => "adam") > > query.to_sql => "SELECT `users`.`id` FROM `users` WHERE > > `users`.`name` = > > 'adam'" > > > > which seems a little more elegant. > > > > Thanks, > > > > Arthur > > > > -- > > You received this message because you are subscribed to the Google > > Groups "Ruby on Rails: Core" group. > > To post to this group, send email to > > [email protected] > > <mailto:[email protected]>. > > To unsubscribe from this group, send email to > > [email protected] > > <mailto:rubyonrails-core%[email protected]>. > > For more options, visit this group at > > http://groups.google.com/group/rubyonrails-core?hl=en. > > > > > > -- > > You received this message because you are subscribed to the Google > > Groups "Ruby on Rails: Core" 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-core?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Core" 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-core?hl=en. > > -- Anuj DUTTA -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" 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-core?hl=en.
