Ruby’s beautiful object model alone is worth learning. “Metaprogramming Ruby”[0] is a great introduction to that. Its flexibility is what makes things like DSLs so easy. The language also includes functional programming influences. I wrote Django apps in Python for the better part of two years, and for what anecdotes are worth, I didn’t learn nearly as much as I did writing Rails applications in Ruby. I’d pick Ruby every time.