To say this language is in decline may be a bit of an understatement. Looking on Ruby gems for all my favourite PyPi module alternatives was a little depressing. They often don't exist or haven't been updated since 2008, 2010, maybe 2013 if you're lucky. The exception being Rails, which isn't so much a substitute for a PyPi module, but a good reason to use the language for web dev.
It's hard to ignore the primacy of Python as the default scripting language for fast iteration and ease of use. Still, there's something to be said for Ruby. It's use of code blocks are elegant and, despite not being the languages only implementation of (or even identified as) lambda functions, their ubiquity was, for me at least, a good way of softly enforcing a functional coding practice I've mostly avoided.
Whereas Python will often have one, or at least limited, ways of doing something, Ruby has many. Plus aliases. This makes the learning curve perhaps steeper, but ultimately gives more flexibility. Why use for i in range(1,11), when you can simply specify 1..10, etc.
I love ! To end methods that are in-place, and no exclamation otherwise. This could be so great in other languages. Similarly, why not include a ? at the end for methods returning booleans (or in Ruby's case the special values true or false or nil). Sadly, these would be naming exceptions in other languages.
Similarly, def +(number) makes much more sense than def __add__(self, other). Is @ more elegant than self.? I'm unsure.
The collections are odd though. Set has to be imported, so isn't a default data structure. Instead we have arrays (more like a Pythonic list than a C array), which can be frozen to behave like a mutable data structure (e.g. tuple), and also hashes (dictionaries). Arrays have union and intersection methods to try and make them dual purpose, like a set, but they ultimately fail without some additional work.
My eyes started to glaze over as we got stuck in the weeds of procs and lambdas and mix-ins, but I feel this may be because of the flow of the book and writing style. I am also painfully aware these minutiae of implementation will have changed by Ruby 3.3, especially as this book focused so heavily on the changes between 1.8 and 1.9.
(This book was £2.80 secondhand on Amazon, with input from the language creator. A book on the latest implementation was roughly £45 by comparison.)