= rinject
RInject is a simple dependency injection library for ruby.
== Sample usage
require 'rinject'
class MyCoolApplication
def initialize
@container = RInject::Container.new
@container.register(:logfile) { 'mycoolapp.log' }
@container.register(:db_user) { 'snuxoll' }
@container.register(:db_password) { 'dragonslayer' }
@container.register(:database) do |c|
Database.connect(c.db_user, c.db_password)
end
@container.register(:error_handler) do |c|
handler = ErrorHandler.new
handler.logger = c.logger
end
@container.register(:logger) do |c|
Logger.new(c.logfile)
end
end
end
== Note on Patches/Pull Requests
- Fork the project.
- Make your feature addition or bug fix.
- Add tests for it. This is important so I don't break it in a
future version unintentionally.
- Commit, do not mess with rakefile, version, or history.
(if you want to have your own version, that is fine but
bump version in a commit by itself I can ignore when I pull)
- Send me a pull request. Bonus points for topic branches.
== Copyright
Copyright (c) 2009 Stefan Nuxoll. See LICENSE for details.