Skip to content

pocketsizesun/unity-dependency-container

Repository files navigation

Unity::DependencyContainer

Simple thread-safe dependency injection.

Installation

Add this line to your application's Gemfile:

gem 'unity-dependency-container'

Usage

class CalculatorService
  def sum(a, b)
    a + b
  end
end

module Foo
  extend Unity::DependencyContainer

  dependency 'services.calculator' do
    CalculatorService.new
  end

  # you can also use Symbol as dependencies' names
  dependency :calculator do
    CalculatorService.new
  end
end

a = Foo.di('services.calculator').sum(1, 2)
b = Foo.with_dependency('services.calculator') do |dep|
  dep.sum(1, 2)
end
c = Foo.with_dependency(:calculator) { |dep| dep.sum(1, 2) }

puts a # => 3
puts b # => 3
puts c # => 3

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published