I have several inter-related questions regarding upgrading/migrating an existing application:
What all can potentially break when migrating Ruby?
Ditto for Rails?
Are there step-by-step guides that can help with the process?
Should I migrate the application in steps like - migrate from Ruby 1.8.7 to 1.9.2/1.9.3 and then at a future point to Ruby 2? Or is it better (same effort and better result) to do it in one straight sweep?
Thereās lots of things can break when changing versions of ruby and rails. If youāve got good test coverage this will obviously be easier. Iāve found ruby version changes to be significantly less painful than the jump from rails 2.x to 3.x, so Iād suggest starting there.
I would upgrade your rails 2.3.16 app to Ruby 1.9.3 at the outset. The jump from there to 2.0 will probably be completely without issue as there are very few backward incompatibilities. Iād say just go straight to 2.0, but only the most recent version of rails 3.2 supports that. So youāll have to wait on that.
Upgrading to rails 3.x is daunting. Iāve read several places that itās likely best to go from 2.x to 3.0.x and then to 3.2.x. 3.1 introduces the asset pipeline and you probably donāt want to deal with that on top of everything else. I recall seeing high praise for this guide, but I have not tried it myself. There are likely other guides available as well.