Project

dee-rails

0.0
Repository is archived
No commit activity in last 3 years
No release in over 3 years
Dee the DI Container for Rails
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

~> 0.0.1
< 5, >= 3
 Project Readme

dee-rails

Build Status Coverage Status Analytics

Dee the DI Container for Rails

Installation

Add this line to your application's Gemfile:

gem 'dee-rails'

And then execute:

$ bundle

Or install it yourself as:

$ gem install dee-rails

Usage

Defining service provider

Write your service provider using generator.

$ rails g dee:service_provider foo
$ vi app/providers/foo_service_provider.rb
class FooServceProvider < Dee::Rails::ServiceProvider
  provide do
    # Configuration parameter
    self['foo.name'] = 'FOO'

    # Singleton service
    singleton 'foo' do
      Foo.new self['foo.name']
    end

    # Service
    factory 'bar' do
      Bar.new
    end
  end
end

Using service

You can access services defined in provider using Dee object.

class FooController < ApplicationController
  def show
    foo = Dee['foo']

    # Some instructions using Foo object
  end
end

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request