dependency_injection 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9b69c7250ff09cc0ce7a0fc71f5de27823bfe809
4
- data.tar.gz: 4eedfaf5417c9d83c05ede482a292c759dd9cdf7
3
+ metadata.gz: 2116ad6a0f9eb9fef58b268cd9413aa4fd8177c3
4
+ data.tar.gz: ed1755da4b8037d366fc95c3693c86ac9b346b28
5
5
  SHA512:
6
- metadata.gz: 554a7b44ab7fa02021a1d562af254ef30571f78bde1e785b1eb0f5d76d5d20d4d6a6d2b262fcac162fc3fe6689ce5c6684315833e6020acc1d41826e0ef566c1
7
- data.tar.gz: af2fcf51496d158883be89afbc4a34eff33b835742c210401b7b16187d6aa1ec9f13c2ba237230d57397e18405bc87e779ee2fc4ddf7298b9e6e692b34ff338c
6
+ metadata.gz: ab60bdcc326a550b133d8406c459d072670af4f259a50eb5cc5c1c9edf33b671d6e544f1871e27b88e90027befeb0477c1c681e43a3f6de7a0ec52f2a913110a
7
+ data.tar.gz: 770dcddd3fe38639736abae27599ef504934050f29b3766ca79efba18b5fbcdb0c5c56ffda141485f2d52fb6990060073ac657f61be6fbd7a440af6ff3c97223
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dependency_injection (0.1.1)
4
+ dependency_injection (0.2.0)
5
5
  activesupport
6
6
 
7
7
  GEM
@@ -0,0 +1,19 @@
1
+ require 'dependency_injection/container'
2
+ require 'dependency_injection/loaders/yaml'
3
+
4
+ c = DependencyInjection::Container.new
5
+ loader = DependencyInjection::Loaders::Yaml.new(c)
6
+ loader.load(File.join(File.dirname(File.expand_path(__FILE__)), 'alias_definitions.yml'))
7
+
8
+ class Mailer
9
+ attr_accessor :transport
10
+
11
+ def send_mail(message)
12
+ puts "mail sent via #{self.transport}: #{message}"
13
+ end
14
+ end
15
+
16
+ puts c.get('my.mailer').class
17
+ # => Mailer
18
+ puts c.get('aliased.mailer').class
19
+ # => Mailer
@@ -0,0 +1,8 @@
1
+ parameters:
2
+ mailer.transport: sendmail
3
+ services:
4
+ my.mailer:
5
+ class: Mailer
6
+ method_call: ['transport=', '%mailer.transport%']
7
+ aliased.mailer:
8
+ alias: 'my.mailer'
@@ -0,0 +1,27 @@
1
+ require 'dependency_injection/container'
2
+ require 'dependency_injection/loaders/yaml'
3
+
4
+ c = DependencyInjection::Container.new
5
+ loader = DependencyInjection::Loaders::Yaml.new(c)
6
+ loader.load(File.join(File.dirname(File.expand_path(__FILE__)), 'configurator_usage.yml'))
7
+
8
+ class MailerConfigurator
9
+ def initialize(transport)
10
+ @transport = transport
11
+ end
12
+
13
+ def configure(mailer)
14
+ mailer.transport = @transport
15
+ end
16
+ end
17
+
18
+ class Mailer
19
+ attr_accessor :transport
20
+
21
+ def send_mail(message)
22
+ puts "mail sent via #{self.transport}: #{message}"
23
+ end
24
+ end
25
+
26
+ c.get('my.mailer').send_mail('Hello World')
27
+ # mail sent via sendmail: Hello World
@@ -0,0 +1,10 @@
1
+ parameters:
2
+ mailer.transport: sendmail
3
+ services:
4
+ mailer_configurator:
5
+ class: MailerConfigurator
6
+ arguments:
7
+ - '%mailer.transport%'
8
+ my.mailer:
9
+ class: Mailer
10
+ configurator: ['@mailer_configurator', 'configure']
@@ -0,0 +1,37 @@
1
+ require 'dependency_injection/container'
2
+ require 'dependency_injection/loaders/yaml'
3
+
4
+ c = DependencyInjection::Container.new
5
+ loader = DependencyInjection::Loaders::Yaml.new(c)
6
+ loader.load(File.join(File.dirname(File.expand_path(__FILE__)), 'lazy_load_object.yml'))
7
+
8
+ class NewsletterManager
9
+ def initialize(mailer)
10
+ @mailer = mailer
11
+ end
12
+
13
+ def send_mail(message)
14
+ puts 'newletter'
15
+ @mailer.send_mail(message)
16
+ end
17
+ end
18
+
19
+ class Mailer
20
+ def initialize
21
+ puts 'mailer loaded'
22
+ end
23
+
24
+ def send_mail(message)
25
+ puts "mail sent via: #{message}"
26
+ end
27
+ end
28
+
29
+ puts c.get('my.mailer').class
30
+ # => ProxyObject
31
+ puts c.get('my.newsletter_manager').class
32
+ # => NewsletterManager
33
+
34
+ c.get('my.newsletter_manager').send_mail('Hello World')
35
+ # => newsletter
36
+ # mailer loaded
37
+ # mail sent : Hello World
@@ -0,0 +1,8 @@
1
+ services:
2
+ my.mailer:
3
+ class: Mailer
4
+ lazy: true
5
+ my.newsletter_manager:
6
+ class: NewsletterManager
7
+ arguments:
8
+ - '@my.mailer'
@@ -3,7 +3,7 @@ require 'dependency_injection/loaders/yaml'
3
3
 
4
4
  c = DependencyInjection::Container.new
5
5
  loader = DependencyInjection::Loaders::Yaml.new(c)
6
- loader.load(File.join(File.dirname(File.expand_path(__FILE__)), 'services.yml'))
6
+ loader.load(File.join(File.dirname(File.expand_path(__FILE__)), 'yaml_configuration_file.yml'))
7
7
 
8
8
  class NewsletterManager
9
9
  def initialize(mailer)
@@ -0,0 +1,14 @@
1
+ module DependencyInjection
2
+ class AliasDefinition
3
+ attr_accessor :alias_definition_name
4
+
5
+ def initialize(alias_definition_name, container)
6
+ @container = container
7
+ self.alias_definition_name = alias_definition_name
8
+ end
9
+
10
+ def object
11
+ @container.get(self.alias_definition_name)
12
+ end
13
+ end
14
+ end
@@ -1,4 +1,6 @@
1
+ require 'dependency_injection/alias_definition'
1
2
  require 'dependency_injection/definition'
3
+ require 'dependency_injection/lazy_definition'
2
4
 
3
5
  module DependencyInjection
4
6
  class Container
@@ -19,8 +21,13 @@ module DependencyInjection
19
21
  end
20
22
  end
21
23
 
22
- def register(name, klass_name)
23
- @definitions[name] = Definition.new(klass_name, self)
24
+ def register(name, klass_name, lazy=false)
25
+ definition = lazy ? LazyDefinition.new(klass_name, self) : Definition.new(klass_name, self)
26
+ @definitions[name] =definition
27
+ end
28
+
29
+ def register_alias(name, alias_definition_name)
30
+ @definitions[name] = AliasDefinition.new(alias_definition_name, self)
24
31
  end
25
32
  end
26
33
  end
@@ -2,7 +2,7 @@ require 'active_support/core_ext/string/inflections'
2
2
 
3
3
  module DependencyInjection
4
4
  class Definition
5
- attr_accessor :klass_name, :arguments, :method_calls
5
+ attr_accessor :arguments, :configurator, :klass_name, :method_calls
6
6
 
7
7
  def initialize(klass_name, container)
8
8
  @container = container
@@ -21,6 +21,12 @@ module DependencyInjection
21
21
  self
22
22
  end
23
23
 
24
+ def add_configurator(name, method_name)
25
+ self.configurator = [name, method_name]
26
+
27
+ self
28
+ end
29
+
24
30
  def add_method_call(method_name, *arguments)
25
31
  self.method_calls[method_name] = arguments
26
32
 
@@ -36,6 +42,11 @@ module DependencyInjection
36
42
 
37
43
  @object = self.klass.new(*resolve(self.arguments))
38
44
  self.method_calls.each { |method_name, arguments| @object.send(method_name, *resolve(arguments)) }
45
+ if self.configurator
46
+ name, method_name = self.configurator
47
+ configurator_object = resolve([name]).first
48
+ configurator_object.send(method_name, @object)
49
+ end
39
50
 
40
51
  @object
41
52
  end
@@ -0,0 +1,12 @@
1
+ require 'dependency_injection/definition'
2
+ require 'dependency_injection/proxy_object'
3
+
4
+ module DependencyInjection
5
+ class LazyDefinition < Definition
6
+ def object
7
+ return @proxy_object if @proxy_object
8
+
9
+ @proxy_object = ProxyObject.new { super }
10
+ end
11
+ end
12
+ end
@@ -15,6 +15,10 @@ module DependencyInjection
15
15
 
16
16
  private
17
17
 
18
+ def add_aliased_service(name, aliased_service_name)
19
+ @container.register_alias(name, aliased_service_name)
20
+ end
21
+
18
22
  def add_parameters(parameters)
19
23
  parameters.each { |name, value| @container.add_parameter(name, value) }
20
24
  end
@@ -24,8 +28,20 @@ module DependencyInjection
24
28
  end
25
29
 
26
30
  def add_service(name, parameters)
27
- definition = @container.register(name, parameters['class'])
31
+ if parameters['alias']
32
+ add_aliased_service(name, parameters['alias'])
33
+ else
34
+ add_standard_service(name, parameters)
35
+ end
36
+ end
37
+
38
+ def add_standard_service(name, parameters)
39
+ lazy_load = parameters['lazy'] || false
40
+ definition = @container.register(name, parameters['class'], lazy_load)
28
41
  definition.add_arguments(*parameters['arguments']) if parameters['arguments']
42
+ if (configurator = parameters['configurator'])
43
+ definition.add_configurator(configurator[0], configurator[1])
44
+ end
29
45
  if parameters['calls']
30
46
  parameters['calls'].each { |method_name, arguments| definition.add_method_call(method_name, *arguments) }
31
47
  end
@@ -0,0 +1,11 @@
1
+ module DependencyInjection
2
+ class ProxyObject
3
+ def initialize(&block)
4
+ @object = block
5
+ end
6
+
7
+ def method_missing(method_name, *args)
8
+ @object.call.send(method_name, *args)
9
+ end
10
+ end
11
+ end
@@ -1,3 +1,3 @@
1
1
  module DependencyInjection
2
- VERSION = '0.1.1'
2
+ VERSION = '0.2.0'
3
3
  end
@@ -35,6 +35,12 @@ class TestYaml < Minitest::Test
35
35
  @yaml_loader.load('services.yml')
36
36
  end
37
37
 
38
+ def test_adding_aliased_service
39
+ @container.expects(:register_alias).with('my_alias', 'my_definition')
40
+
41
+ @yaml_loader.send(:add_aliased_service, 'my_alias', 'my_definition')
42
+ end
43
+
38
44
  def test_adding_parameters
39
45
  @container.expects(:add_parameter).with('key_1', 'value_1')
40
46
  @container.expects(:add_parameter).with('key_2', 'value_2')
@@ -50,39 +56,84 @@ class TestYaml < Minitest::Test
50
56
  'key_2' => { 'param_1' => 'value_1' }})
51
57
  end
52
58
 
53
- def test_adding_service_without_parameters
59
+ def test_adding_service_without_alias_parameters
60
+ @yaml_loader.expects(:add_aliased_service).never
61
+ @yaml_loader.expects(:add_standard_service).with('my_definition', { 'class' => 'MyKlass' })
62
+
63
+ @yaml_loader.send(:add_service, 'my_definition', { 'class' => 'MyKlass' })
64
+ end
65
+
66
+ def test_adding_service_with_alias_parameters
67
+ @yaml_loader.expects(:add_aliased_service).with('my_alias', 'my_definition')
68
+ @yaml_loader.expects(:add_standard_service).never
69
+
70
+ @yaml_loader.send(:add_service, 'my_alias', { 'alias' => 'my_definition' })
71
+ end
72
+
73
+ def test_adding_standard_service_as_lazy
74
+ @container.expects(:register).with('my_lazy_definition', 'MyLazyDefinition', true)
75
+ @yaml_loader.send(:add_standard_service, 'my_lazy_definition', { 'class' => 'MyLazyDefinition', 'lazy' => true })
76
+ end
77
+
78
+ def test_adding_standard_service_as_not_lazy
79
+ @container.expects(:register).with('my_definition', 'MyDefinition', false)
80
+ @yaml_loader.send(:add_standard_service, 'my_definition', { 'class' => 'MyDefinition', 'lazy' => false })
81
+ end
82
+
83
+ def test_adding_standard_service_with_default_lazy_value
84
+ @container.expects(:register).with('my_definition', 'MyDefinition', false)
85
+ @yaml_loader.send(:add_standard_service, 'my_definition', { 'class' => 'MyDefinition' })
86
+ end
87
+
88
+ def test_adding_standard_service_without_parameters
54
89
  definition = mock
55
- @container.stubs(:register).with('key_1', 'MyKlass').returns(definition)
90
+ @container.stubs(:register).with('key_1', 'MyKlass', false).returns(definition)
56
91
  definition.expects(:add_arguments).never
57
92
 
58
- @yaml_loader.send(:add_service, 'key_1', { 'class' => 'MyKlass' })
93
+ @yaml_loader.send(:add_standard_service, 'key_1', { 'class' => 'MyKlass' })
59
94
  end
60
95
 
61
- def test_adding_service_with_parameters
96
+ def test_adding_standard_service_with_parameters
62
97
  definition = mock
63
- @container.stubs(:register).with('key_1', 'MyKlass').returns(definition)
98
+ @container.stubs(:register).with('key_1', 'MyKlass', false).returns(definition)
64
99
  definition.expects(:add_arguments).with('arg_1', 'arg_2')
65
100
 
66
- @yaml_loader.send(:add_service, 'key_1', { 'class' => 'MyKlass', 'arguments' => ['arg_1', 'arg_2'] })
101
+ @yaml_loader.send(:add_standard_service, 'key_1', { 'class' => 'MyKlass', 'arguments' => ['arg_1', 'arg_2'] })
67
102
  end
68
103
 
69
- def test_adding_service_without_method_calls
104
+ def test_adding_standard_service_without_method_calls
70
105
  definition = mock
71
- @container.stubs(:register).with('key_1', 'MyKlass').returns(definition)
106
+ @container.stubs(:register).with('key_1', 'MyKlass', false).returns(definition)
72
107
  definition.expects(:add_method_call).never
73
108
 
74
- @yaml_loader.send(:add_service, 'key_1', { 'class' => 'MyKlass' })
109
+ @yaml_loader.send(:add_standard_service, 'key_1', { 'class' => 'MyKlass' })
75
110
  end
76
111
 
77
- def test_adding_service_with_method_calls
112
+ def test_adding_standard_service_with_method_calls
78
113
  definition = mock
79
- @container.stubs(:register).with('key_1', 'MyKlass').returns(definition)
114
+ @container.stubs(:register).with('key_1', 'MyKlass', false).returns(definition)
80
115
  definition.expects(:add_method_call).with('method_1', 'arg_1')
81
116
  definition.expects(:add_method_call).with('method_2', 'arg_1', 'arg_2')
82
117
  definition.expects(:add_method_call).with('method_3', %w(arg_1 arg_2))
83
118
 
84
- @yaml_loader.send(:add_service, 'key_1', { 'class' => 'MyKlass', 'calls' => { 'method_1' => ['arg_1'],
119
+ @yaml_loader.send(:add_standard_service, 'key_1', { 'class' => 'MyKlass', 'calls' => { 'method_1' => ['arg_1'],
85
120
  'method_2' => ['arg_1', 'arg_2'],
86
121
  'method_3' => [['arg_1', 'arg_2']] }})
87
122
  end
123
+
124
+ def test_adding_standard_service_without_configurator
125
+ definition = mock
126
+ @container.stubs(:register).with('key_1', 'MyKlass', false).returns(definition)
127
+ definition.expects(:add_configurator).never
128
+
129
+ @yaml_loader.send(:add_standard_service, 'key_1', { 'class' => 'MyKlass' })
130
+ end
131
+
132
+ def test_adding_standard_service_with_configurator
133
+ definition = mock
134
+ @container.stubs(:register).with('key_1', 'MyKlass', false).returns(definition)
135
+ definition.expects(:add_configurator).with('ConfiguratorKlass', 'method_name')
136
+
137
+ @yaml_loader.send(:add_standard_service, 'key_1', { 'class' => 'MyKlass', 'configurator' => ['ConfiguratorKlass', 'method_name'] })
138
+ end
88
139
  end
@@ -0,0 +1,15 @@
1
+ require 'test_helper'
2
+ require 'dependency_injection/alias_definition'
3
+
4
+ class TestAliasDefinition < Minitest::Test
5
+ def setup
6
+ @container = mock
7
+ @alias_definition = DependencyInjection::AliasDefinition.new('my_definition', @container)
8
+ end
9
+
10
+ def test_getting_object_to_container
11
+ @container.expects(:get).with('my_definition')
12
+
13
+ @alias_definition.object
14
+ end
15
+ end
@@ -3,13 +3,17 @@ require 'dependency_injection/container'
3
3
 
4
4
  class TestContainer < Minitest::Test
5
5
  def setup
6
- @container = DependencyInjection::Container.new
7
- @final_object = mock
8
- @definition = mock
6
+ @container = DependencyInjection::Container.new
7
+ @alias = mock
8
+ @another_alias = mock
9
+ @final_object = mock
10
+ @definition = mock
9
11
  @definition.stubs(:object).returns(@final_object)
10
12
  @another_definition = mock
11
13
  DependencyInjection::Definition.stubs(:new).with('MyDefinition', @container).returns(@definition)
12
14
  DependencyInjection::Definition.stubs(:new).with('MyOtherDefinition', @container).returns(@another_definition)
15
+ DependencyInjection::AliasDefinition.stubs(:new).with('my_definition', @container).returns(@alias)
16
+ DependencyInjection::AliasDefinition.stubs(:new).with('my_other_definition', @container).returns(@another_alias)
13
17
  end
14
18
 
15
19
  def test_adding_new_parameter
@@ -40,6 +44,11 @@ class TestContainer < Minitest::Test
40
44
  assert_equal({ 'my_definition' => @definition }, @container.definitions)
41
45
  end
42
46
 
47
+ def test_registering_a_lazy_definition
48
+ DependencyInjection::LazyDefinition.stubs(:new).with('MyLazyDefinition', @container)
49
+ @container.register('my_lazy_definition', 'MyLazyDefinition', true)
50
+ end
51
+
43
52
  def test_registering_a_class_return_a_definition_object
44
53
  assert_equal(@definition, @container.register('my_definition', 'MyDefinition'))
45
54
  end
@@ -51,4 +60,16 @@ class TestContainer < Minitest::Test
51
60
  @container.register('my_definition', 'MyOtherDefinition')
52
61
  assert_equal({ 'my_definition' => @another_definition }, @container.definitions)
53
62
  end
63
+
64
+ def test_registering_an_alias_returns_an_alias_definition_object
65
+ assert_equal(@alias, @container.register_alias('my_alias', 'my_definition'))
66
+ end
67
+
68
+ def test_registering_an_already_existing_alias_definition_replace_it
69
+ @container.register_alias('my_alias', 'my_definition')
70
+ assert_equal({ 'my_alias' => @alias }, @container.definitions)
71
+
72
+ @container.register_alias('my_alias', 'my_other_definition')
73
+ assert_equal({ 'my_alias' => @another_alias }, @container.definitions)
74
+ end
54
75
  end
@@ -35,6 +35,16 @@ class TestDefinition < Minitest::Test
35
35
  assert_equal(%w(first second third), @definition.arguments)
36
36
  end
37
37
 
38
+ def test_adding_configurator
39
+ @definition.add_configurator('ConfiguratorKlass', 'method_name')
40
+
41
+ assert_equal(%w(ConfiguratorKlass method_name), @definition.configurator)
42
+ end
43
+
44
+ def test_adding_configurator_returns_definition_object
45
+ assert_equal(@definition, @definition.add_configurator('ConfiguratorKlass', 'method_name'))
46
+ end
47
+
38
48
  def test_adding_a_method_call_without_parameters
39
49
  @definition.add_method_call('my_method')
40
50
 
@@ -93,6 +103,33 @@ class TestDefinition < Minitest::Test
93
103
  @definition.object
94
104
  end
95
105
 
106
+ def test_getting_object_without_configurator
107
+ configurator_object = mock
108
+ final_object = mock
109
+ final_class = mock
110
+ @definition.stubs(:klass).returns(final_class)
111
+ @definition.stubs(:resolve).with([]).returns([])
112
+ @definition.stubs(:resolve).with(['ConfiguratorKlass']).returns([configurator_object])
113
+ configurator_object.expects(:send).never
114
+ final_class.stubs(:new).with.returns(final_object)
115
+
116
+ @definition.object
117
+ end
118
+
119
+ def test_getting_object_with_configurator
120
+ configurator_object = mock
121
+ final_object = mock
122
+ final_class = mock
123
+ @definition.stubs(:klass).returns(final_class)
124
+ @definition.stubs(:resolve).with([]).returns([])
125
+ @definition.stubs(:resolve).with(['ConfiguratorKlass']).returns([configurator_object])
126
+ @definition.add_configurator('ConfiguratorKlass', 'method_name')
127
+ configurator_object.expects(:send).with('method_name', final_object)
128
+ final_class.stubs(:new).with.returns(final_object)
129
+
130
+ @definition.object
131
+ end
132
+
96
133
  def test_resolving_first_container_parameters
97
134
  changed_arguments = mock
98
135
  arguments = mock
@@ -0,0 +1,13 @@
1
+ require 'test_helper'
2
+ require 'dependency_injection/lazy_definition'
3
+
4
+ class TestLazyDefinition < Minitest::Test
5
+ def setup
6
+ @container = mock
7
+ @lazy_definition = DependencyInjection::LazyDefinition.new('MyKlass', @container)
8
+ end
9
+
10
+ def test_getting_object_returns_a_proxy_object
11
+ assert_equal(DependencyInjection::ProxyObject, @lazy_definition.object.class)
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ require 'test_helper'
2
+ require 'dependency_injection/proxy_object'
3
+
4
+ class TestProxyObject < Minitest::Test
5
+ def setup
6
+ @object = mock
7
+ @proxy_object = DependencyInjection::ProxyObject.new { @object }
8
+ end
9
+
10
+ def test_calling_a_method_existing_on_object
11
+ @object.expects(:existing_method).with('arg_1', 'arg_2')
12
+
13
+ @proxy_object.existing_method('arg_1', 'arg_2')
14
+ end
15
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependency_injection
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Disneur
@@ -39,18 +39,30 @@ files:
39
39
  - README.md
40
40
  - Rakefile
41
41
  - dependency_injection.gemspec
42
+ - examples/alias_definitions.rb
43
+ - examples/alias_definitions.yml
42
44
  - examples/basic_usage.rb
45
+ - examples/configurator_usage.rb
46
+ - examples/configurator_usage.yml
43
47
  - examples/global_container_parameter.rb
44
48
  - examples/inject_a_reference_to_another_dependency.rb
45
- - examples/services.yml
49
+ - examples/lazy_load_object.rb
50
+ - examples/lazy_load_object.yml
46
51
  - examples/yaml_configuration_file.rb
52
+ - examples/yaml_configuration_file.yml
53
+ - lib/dependency_injection/alias_definition.rb
47
54
  - lib/dependency_injection/container.rb
48
55
  - lib/dependency_injection/definition.rb
56
+ - lib/dependency_injection/lazy_definition.rb
49
57
  - lib/dependency_injection/loaders/yaml.rb
58
+ - lib/dependency_injection/proxy_object.rb
50
59
  - lib/dependency_injection/version.rb
51
60
  - test/dependency_injection/loaders/test_yaml.rb
61
+ - test/dependency_injection/test_alias_definition.rb
52
62
  - test/dependency_injection/test_container.rb
53
63
  - test/dependency_injection/test_definition.rb
64
+ - test/dependency_injection/test_lazy_definition.rb
65
+ - test/dependency_injection/test_proxy_object.rb
54
66
  - test/test_helper.rb
55
67
  homepage: https://github.com/kdisneur/dependency_injection-ruby
56
68
  licenses:
@@ -78,6 +90,9 @@ specification_version: 4
78
90
  summary: Dependency Injection system for Ruby
79
91
  test_files:
80
92
  - test/dependency_injection/loaders/test_yaml.rb
93
+ - test/dependency_injection/test_alias_definition.rb
81
94
  - test/dependency_injection/test_container.rb
82
95
  - test/dependency_injection/test_definition.rb
96
+ - test/dependency_injection/test_lazy_definition.rb
97
+ - test/dependency_injection/test_proxy_object.rb
83
98
  - test/test_helper.rb