lib/dependency_injection/definition.rb in dependency_injection-0.4.1 vs lib/dependency_injection/definition.rb in dependency_injection-0.4.2

- old
+ new

@@ -85,30 +85,30 @@ def resolve(arguments) resolve_references(resolve_container_parameters(arguments)) end - def resolve_container_parameters(arguments) - arguments.map do |argument| - if /^%(?<parameter_name>.*)%$/ =~ argument - @container.parameters[parameter_name] - else - argument - end + def resolve_container_parameters(argument) + if argument.kind_of?(Array) + argument.map { |arg| resolve(arg) } + elsif /^%(?<parameter_name>.*)%$/ =~ argument + @container.parameters[parameter_name] + else + argument end end - def resolve_references(arguments) - arguments.map do |argument| - if /^@(?<reference_name>.*)/ =~ argument - reference_definition = @container.find(reference_name) - reference = reference_definition.object - raise ScopeWideningInjectionError if reference_definition.scope == :prototype && scope == :container + def resolve_references(argument) + if argument.kind_of?(Array) + argument.map { |arg| resolve(arg) } + elsif /^@(?<reference_name>.*)/ =~ argument + reference_definition = @container.find(reference_name) + reference = reference_definition.object + raise ScopeWideningInjectionError if reference_definition.scope == :prototype && scope == :container - reference - else - argument - end + reference + else + argument end end end end