Everything returns a value. Because of this, it is easier to write functional-like code than in python and much easier to chain commands.
Consistent object orientation. Python suffers from design decisions made early on that makes it hard to use object orientation.
Open classes. It is really easy to open a class and just add a method to it. Yes, you must be careful with it, but it is the right way to solve lots of problems.
Anonymous blocks. Python has anonymous closures, but they must fit on a single line. In ruby, every method implicitly supports passing in an anonymous block. Anonymous blocks allow you to write code that allows users of a method to make modifications to the code using variables in their current scope. They are extremely powerful and easier to use in ruby.