At the risk of returning to the original broader topic, I thought I'd put 
in a couple cents.

Rails applications have long since moved past simple CRUD and are embracing 
more complex applications and more sophisticated database integration. The 
proliferation of a variety of strong NoSQL integrations, and the embracing 
of advanced PostgreSQL data types in the default postgresql adapter in 
Rails 4, are indicative of this. It is high time for ActiveRecord's query 
API to catch up.

As an advocate of effective use of database features, I've been a long time 
supporter of Squeel because of how well it supports advanced queries. For 
example, I do a lot of GIS work, and for such applications, queries tend to 
include many SQL function calls, often nested. These are very natural with 
Squeel; with the base AR, I have to drop down to string interpolation. This 
is why I tend to recommend Squeel to developers doing GIS applications in 
Rails.

There will always be debate on the merits of API design, especially when a 
DSL is involved, but Squeel is mature and has done an excellent job of 
navigating the issues as well as providing fallbacks to more traditional 
syntax. It is more feature-complete than the status quo, and pretty much 
has no rival when it comes to constructing non-trivial queries. It is 
already in widespread use, and it is backward compatible with the existing 
query API. I think the decision should be a no-brainer. If we consider 
Rails 4 feature-locked at this point, then Squeel should be at the top of 
the consideration list for 4.1.

Daniel Azuma
Author of rgeo and activerecord-postgis-adapter

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/rubyonrails-core/-/KFF-OlKXU6kJ.
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.

Reply via email to