Copland IoC Container
Copland is an Inversion of Control (IoC) container, in the same vein as HiveMind, Spring, and PicoContainer (in the Java universe). It borrows concepts, terminology, and even some architecture from HiveMind, with the exception that it uses YAML for the package descriptors instead of XML.
Downloading
You may download Copland from Copland’s RubyForge project, at rubyforge.org/projects/copland. Copland is distributed both as a RubyGem, and as a Ruby library.
Installation
Copland is distributed as a gem, which makes it extremely easy to download, install, and use. However, it requires that you have RubyGems installed, first.
Assuming you have RubyGems installed, all you have to do is:
gem --remote-install copland
This will install the latest version of Copland.
Copland is also distributed as a Ruby library. It’s not as easy to install this way, but it works. Simply grab the latest copland package from the website, untar it, and install it by typing:
ruby setup.rb
Or, if you want a little more control over the installation:
ruby setup.rb --help
This will show you the options that are available to you, and then you can do each stage of the installation manually:
ruby setup.rb config ruby setup.rb setup ruby setup.rb install
Manual
For more information about Copland, such as an overview and tutorials, see the Copland manual at copland.rubyforge.org.
Credits
Thanks go to:
- Matz, for creating Ruby in the first place.
- Howard Lewis Ship, for the HiveMind Java framework that inspired Copland.
License
Copland is copyright © 2004 Jamis Buck. It is free software, and may be redistributed under the terms of the BSD licence:
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* The names of its contributors may not be used to endorse or promote
products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The Copland manual and all software used to build it are distributed under the Attribution-ShareAlike 1.0 Creative Commons license. Distribute it and modify it all you want, but give me credit and distribute your changes under an identical license.