I've never been massively keen on the carious implementations of ruby, they're all a bit different and those differences appear to be documented poorly. This is most visible if compared to the python landscape.
I don't have a handle on the Python implementation landscape, but the various Rubies all regularly contribute to rubyspec[0] and report on how they're doing. And with rvm[1] it's incredibly easy to test code across rubies. From where I'm sitting, it seems dead simple to find the differences and how they could affect me.
I appreciate this isn't a great example, as python 2.7 isn't a different implementation (ruby 1.8 -> 1.9 is though), but this has been my experience of the way things are documented language-wise.
I'm afraid that the only explanation I can formulate for your comment is that you are simply unaware of alternative python implementations, because the differences between rubies and pythons are documented approximately evenly.
The Ruby approach is that you should have good enough unit tests to make sure that you can pass everywhere you want. That is also a generally good idea with other dynamic languages, as you get checks that the compiler provides on static languages (like making sure that if you renamed a method, you renamed calls to that method everywhere).
0: https://github.com/rubyspec/rubyspec 1: http://rvm.beginrescueend.com/