Copland is an Inversion of Control (Dependency Injection) container for Ruby. It borrows architectural concepts from the HiveMind Jakarta project, but implements them in significantly different ways.
|Tags||Software Development Libraries Application Frameworks Ruby Modules Object Brokering|
|Operating Systems||OS Independent|
Release Notes: Cycles in dependencies are now reported legibly when they result in errors. Substitution symbols in configuration points work correctly now. Services may be declared with either public or private visibility, to restrict their visibility outside of their package. Log message formats are now customizable, with formats similar to those offered by Log4j. A more practical intro to Copland was added to the manual. The MagicPoint source for the RubyConf 2004 presentation on Copland was added to the docs subdirectory.
Release Notes: The "factory" element can now be omitted when defining a service point, and it will default to "copland.BuilderFactory". The BuilderFactory now supports an "invoke" element, describing methods and their parameters to invoke while initializing a new service. A warning is now logged when you try to set a property that does not have an explicit setter defined. Registry#service now accepts an optional block, which will be passed to "instance_eval" on the new service every time the requested service is instantiated.