Needle is a dependency injection (a.k.a. "inversion of control") 
container for Ruby, employing many of Ruby's best idioms to make 
dependency injection and service location fast, friendly, and fun! It 
has never been easier to take advantage of these powerful design 
patterns. Treat yourself and download it today!

   Project page: http://rubyforge.org/projects/needle
   Users Manual: http://needle.rubyforge.org
   FAQ document: http://needle.rubyforge.org/faq.html
   API document: http://needle.rubyforge.org/api
   Needle Wiki:  http://needle.rubyforge.org/wiki/wiki.pl

   Mailing list: http://rubyforge.org/mailman/listinfo/needle-discuss
   Disussion Forums: http://rubyforge.org/forum/?group_id=410
   Bug tracker:  http://rubyforge.org/tracker/?atid=1642&group_id=410
   Feature Req:  http://rubyforge.org/tracker/?atid=1645&group_id=410

Version 1.0.0 provides a complete FAQ document and Users Guide (although 
I'm sure there are still omissions, over-simplifications, and out-right 
lies scattered all through both documents).

This release also adds Container#require (to support service libraries) 
and fixes various bugs and typos.

As of this release, the API is considered "stable". No 
backwards-incompatible changes will be made to the API during the 1.x 
series of releases.

USAGE:

   require 'needle'

   reg = Needle::Registry.define do |b|
     b.foo { Foo.new }
     b.bar { Bar.new( b.foo ) }
     ...
   end

   bar = reg.bar

See the Users Manual and the 'examples' subdirectory of the Needle 
distribution for more usage examples.

-- 
Jamis Buck
jgb3 / email.byu.edu
http://www.jamisbuck.org/jamis