Rails notes as I start looking at Ruby
I’ve started working on a Ruby on Rails side project, though I haven’t had as much time for it as originally hoped. Really, I was up and running and writing code to production on an existing Rails app in a # of hours!
First, ActiveRecord is very nice. From a DAO oriented Java background (with a sprinkling of Hibernate), ActiveRecord is simply amazing. I love the Model based finds and the automatic find_by_name type methods. These guys have really developed a great framework.
Rails from a web side is very quick to develop, especially when compared to the Eclipse -> Ant -> Weblogic Deploy. You go from accepting a 2-5 minute build-deploy cycle to just a few seconds of saving a file in Rails.
Capistrano for deployments is slick. It’s like having a standardized deployment environment across rails apps, something that J2EE has never gotten close to. Doing a rake remote:deploy
and knowing that a backup of your production has already been made is wonderful. Rollbacks are as simple as rake remote:rollback
.
I really got bit by subversion a couple weeks ago (though this doesn’t deal with RoR specifically, it seems to bite a lot of us). I was updating the rails version due to the recent security holes, but subversion was coughing up all over it. Re-freezing Rails Gems Using Subversion saved my day.
(Update: It looks like my side project has died today, for reasons I cannot control. So hopefully I’ll find another one to work with soon.)