Moonbase is the site of a Ruby programmer who writes on monads, closures, asynchronous code and behavior change.
HN links it for its Ruby monads series and its essay on a common closure mistake, which commenters cite in discussions of dynamic languages.
I think you're taking a very Railscentrc view of Ruby.
rubygems the tool existed before Rails, as did multiple gem hosting mirrors. I believe rubygems.org sprang up because rubyforge.org was falling out of favor. And Bundler is not part of Ruby.
It's possible Wayne Seguin created rvm due Rails but I never got that impression from his talks (but it's been some time).
Pretty sure MenTaLguY created "tap"; Rails had "returning" (though they are similar and perhaps the usage in Rails made it popular enough to warrant inclusion in core).
http://moonbase.rydia.net/mental/blog/programming/eavesdropping-on-expressions
Certainly if any library gets a lot of use then that will influence aspects of the base language, but matz and ko1 seem pretty deliberate about what gets added.
Unfortunately most professional Ruby work is still done within the Rails framework these days, which more or less binds you to a more traditional OO type style. I do find that in regards to everything other than class/object abstraction my coding style gets more and more functional.
Especially when working in a team environment though it's important to stick to some established standards and idioms...
That said, Ruby itself gets more functional with each release, but it would seem unlikely that it'll ever completely shed it's OO-ness.
Rambling aside, some great links.
http://moonbase.rydia.net/mental/writings/programming/monads-in-ruby/00introduction.html
http://www.khelll.com/blog/ruby/ruby-currying/
http://nex-3.com/posts/43-fun-with-the-y-combinator-in-ruby
Nils are a very bad code smell. They come from C's null, which is a billion dollar mistake[1], according to its creator: Tonny Hoare. Specially now that we have monads[2, 3].
Scala's standard library provides very helpful information on how to replace null with its Maybe class (called Option in Scala). Just take a peek into their collections library[4], and search for Option.
[1] http://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare
[2] http://moonbase.rydia.net/mental/writings/programming/monads-in-ruby/00introduction.html
[3] http://andand.rubyforge.org/
[4] http://www.scala-lang.org/api/current/scala/collection/immutable/Iterable.html
Stop snickering at the back! Unless you're a Schemer, your pet dynamic language probably suffers from the same affliction:
http://moonbase.rydia.net/mental/blog/programming/the-biggest-mistake-everyone-makes-with-closures.html
You meant to say http://moonbase.rydia.net/mental/writings/programming/monads-in-ruby/00introduction.html