<p>I've been looking at some Ruby dependency injection libraries.  In particularly, I checked out  <a href="http://needle.rubyforge.org/" rel="noreferrer">Needle</a> and <a href="http://copland.rubyforge.org/" rel="noreferrer">Copland</a>.  They've been around for quite awhile, yet not a lot of usages.  </p>

<p>What are some of the pros and cons of using these two libraries? It sure seems like a lot of libraries / frameworks out there could make good use of these two libraries, e.g. <a href="http://github.com/sam/extlib/tree/master/lib/extlib/hook.rb" rel="noreferrer">Merb / Datamapper's Hook</a>.</p>

Jamis Buck, who wrote Copland and Needle,
posted here
about Needle, dependency injection and their usefulness in a Ruby world.
It's long but worth reading, but in case you want the single paragraph most relevant to your question, I'd suggest this one, from just before the end:
DI frameworks are unnecessary. In more
  rigid environments, they have value.
  In agile environments like Ruby, not
  so much. The patterns themselves may
  still be applicable, but beware of
  falling into the trap of thinking you
  need a special tool for everything.
  Ruby is Play-Doh, remember! Let’s keep
  it that way.
HTH