Gregory Brown and collaborators write about Ruby techniques, design principles, and the book Ruby Best Practices.
HN links it for the free online book, which commenters note covers the old Ruby 1.8.6 edition, plus posts on tap and decorators.
Read this https://code.google.com/p/tokland/wiki/RubyFunctionalProgramming and master it by refactoring some of the source code that you work on. Also follow up the references to work by Joe Armstrong and Rich Hickey. If there is anything there that is unclear, then google for pages that explain it in a non-Ruby context.
And read everything written by Uncle Bob starting with his books "Clean Code and "Clean Coder". He has a lot of blog articles out there as well as various conference videos. And he is also a Ruby developer in addition to C++ and Java.
Learn and apply the SOLID principles http://blog.rubybestpractices.com/posts/gregory/055-issue-23-solid-design.html and maybe read some more of those Ruby Best Practices articles.
Don't let the speed freaks drive you. Many of them are writing bad code fast. It is better to write clean maintainable code at a slower rate than it is to rush into things and create a complex unmaintainable mess. It is possible that some of the complex code that you have difficulty with is actually bad code and not something to emulate in your practice.
P.S. focus on learning Ruby not on Rails. Ruby is the basis for Rails but Rails is not the only Ruby game in town. Someday Rails will fade away but Ruby will still be going strong with new frameworks like Sinatra or Celluloid or Cramp.
If the publisher is cool with this (obviously, the authors are), I hope more publishers continue to see this not as a zero-sum game. I guess I can count myself as part of the lucky privileged class that will buy a book if I like it, whether it's free or not, just to pay my respect to the author...and to have a reliable copy of it (downloading a PDF from a url of store.free-college.org/noleech1.php gives me the slight heebie-jeebies...what can I say, I'm old!)
Recently I purchased a Kindle version of Gregory Brown's "Ruby Best Practices"...even though I'm sure I bought it from Oreilly when it was released in 2009 and even as Brown has been offering the book for free on his own site since 2010 (http://blog.rubybestpractices.com/posts/gregory/022-rbp-now-open.html)
I bought it again because as I've recently been googling for Ruby-specific application methods, I constantly land on the text scraped from the free book...that's worth giving up a few more bucks to the author. Brown also started a paid newsletter for indepth Ruby discussion (practicingruby.com)...it's the first paid newsletter I've ever, well, paid for, and I'm happy to patronize the author. So, at least from people like me, generous authors can always get a few bucks.
BTW, that online copy is the 1st edition of the book, for ruby 1.8.6 (or maybe even earlier).
The language is now at 1.9.3, and while things are fundamentally the same there are assorted little differences.
Still, as a free intro to the language it's not bad.
If you want to buy a book I'd suggest The Ruby Programming Language, as well as anything by Gregory Brown or David A. Black.
Greg also produces the Practicing Ruby newsletter which I cannot recommend highly enough.
http://practicingruby.com/
Greg does amazing stuff.
See also http://university.rubymendicant.com and http://blog.rubybestpractices.com
http://tech.puredanger.com/2007/09/18/spelunking/
http://debasishg.blogspot.com/2009/06/code-reading-for-fun-and-profit.html
http://www.oreillynet.com/ruby/blog/2006/05/post.html
(section about "making Mongrels stable and secure"
http://news.ycombinator.com/item?id=483824
http://blog.rubybestpractices.com/posts/gregory/005-code-reading-stdlib.html
That already exists, and maybe I should have linked it instead, you're right. But I imagine one post is enough for today :)
Here it is for those interested, though:
http://blog.rubybestpractices.com/posts/gregory/welcome.html
Gregory Brown recently posted a different take on Decorators using Ruby's delegate standard library.
Worth a look : http://blog.rubybestpractices.com/posts/gregory/008-decorator-delegator-disco.html