On some work projects I've gotten a lot of mileage out of breaking with the traditional Rails patterns in favor of stuff like `Operation` objects. Too bad I didn't know about Trailblazer!
I also agree about Rails making excessive use of Ruby magic. Just because it's possible, doesn't mean you should do it.
Regarding non-ActiveRecord models, I use Sequel[1] exclusively at work - in addition to being decidedly less magical, it has wonderful support for most Postgresql specific features.
I'll be consulting this in the future before embarking on new Ruby adventures.
On some work projects I've gotten a lot of mileage out of breaking with the traditional Rails patterns in favor of stuff like `Operation` objects. Too bad I didn't know about Trailblazer!
I also agree about Rails making excessive use of Ruby magic. Just because it's possible, doesn't mean you should do it.
Regarding non-ActiveRecord models, I use Sequel[1] exclusively at work - in addition to being decidedly less magical, it has wonderful support for most Postgresql specific features.
I'll be consulting this in the future before embarking on new Ruby adventures.
[1] http://sequel.jeremyevans.net/