Needle is a light-weight dependency injection (aka "inversion of control") container for Ruby. It supports type 2 and type 3 injection, interceptors, hierarchical namespaces, easy configuration (in Ruby), and a flexible integrated logging subsystem.
Information regarding Project Releases and Project Resources. Note that the information here is a quote from Freecode.com page, and the downloads themselves may not be hosted on OSDN.
This release supports parameterized and multi-ton services. Also added were Container#use and #use! for specifying default options when registering services. Also, the :log_for service was added, a parameterized version of :logs. Various other minor features were added and bugfixes made.
Certain internal pieces of Needle may be customized by registering services to override default implementations. These internals include the implementing class of namespaces, interceptor definitions, and definition contexts. Also, Needle::Registry now accepts a name and a parent.
Logging levels may be defined more flexibly and
robustly. Container#require was added to support
service libraries. The FAQ and Users Manual are
complete (as a first draft). API stabilization and
freeze was put into effect.
This release renames Registry#new! to Registry#define!, and adds Registry#define as a class method (in addition to being an instance method). Also, "full names" are handled in a more sane manner.
Container#register! was renamed, and replaced with Container#define! and Container#define. The interface for Container#namespace (and friends) was changed. The service model implementation was radically changed to use an instantiation pipeline. Many new service models have been added. Benchmarks were also added.