Dependency Injection for Rails
DependencyInjectionRails adds a helper method, called container, to access to your ruby
dependency injection container
Installation
Just add the gem to your Gemfile
gem 'dependency_injection-rails'Or simply install it using rubygems:
gem install dependency_injection-railsUsage
In a classic application simply require the helper, and start using it:
class ProductsController < ApplicationController
def create
@trendings = container.get('awesome_service').find_trending
end
# The rest of your controller code goes here...
endConfiguration path
By default it will try to load config/services.yml configuration file, but if
your configuration file is stored in another place, you can easily change it in
an initializer:
DependencyInjectionRails.services_path = Rails.root.join('config'. 'anther_name.yml')