We use apps that require different versions of Ruby and holy hell it'd be a bitch keeping it all straight without rvm. I recently setup my rvm environment at that is really the only way to reliably run our stuff.
Start here by going to the rvm install page we need 1.9.3 and 1.8.7 here. One runs our test cases and the other is for using puppet. Once you get the latest rvm installed be sure to do an
"rvm install 1.9.3"
"rvm install 1.8.7"
One thing we did here too was setup a separate gemset for our puppet app. You can do that by typing
"rvm gemset create <gemset-name>"
then when you want to use 1.8.7 with say your puppet gemset just do this
"rvm use 1.8.7@puppet"
This is a great way to keep your gems clean and separate.