Project

ruby-ioc

0.0
No commit activity in last 3 years
No release in over 3 years
Simple IoC gem
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 1.17
~> 5.0
~> 10.0
 Project Readme

IoC

Installation

gem 'ruby-ioc'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install ruby-ioc

Usage

IoC::Container.init do |container|
  # singleton value
  container.register(:checkout_repository, CheckoutRepository)
  
  # new instance value
  container.register(:checkout_service) { CheckoutService.new }
end

class  CheckoutService
  inject :checkout_repository
  
  def  call(checkout)
    # valid checkout
    # ...
    # ...
    checkout_repository.save(checkout)
  end
end

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/alissonbrunosa/ruby-ioc.

License

The gem is available as open source under the terms of the MIT License.