From 8761aaac596dfd3fe595584aa44720084ccec2eb Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Fri, 28 Dec 2012 18:05:46 -0600 Subject: implement arrays of strings for dependencies --- lib/Bread/Board.pm | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'lib/Bread/Board.pm') diff --git a/lib/Bread/Board.pm b/lib/Bread/Board.pm index 8ee05e7..82b886c 100644 --- a/lib/Bread/Board.pm +++ b/lib/Bread/Board.pm @@ -170,7 +170,16 @@ class ConstructorInjection does Service does HasParameters does HasDependencies if %params. { if %params. ~~ Array { %params. = %params..map(-> $dep { - $dep.service_path.split('/').[*-1] => $dep + my ($name, $obj); + if ($dep ~~ Dependency) { + $name = $dep.service_path.split('/').[*-1]; + $obj = $dep; + } + else { + $name = $dep.split('/').[*-1]; + $obj = Dependency.new(service_path => $dep); + } + $name => $obj }).hash; } @@ -235,7 +244,16 @@ class BlockInjection does Service does HasParameters does HasDependencies { if %params. { if %params. ~~ Array { %params. = %params..map(-> $dep { - $dep.service_path.split('/').[*-1] => $dep + my ($name, $obj); + if ($dep ~~ Dependency) { + $name = $dep.service_path.split('/').[*-1]; + $obj = $dep; + } + else { + $name = $dep.split('/').[*-1]; + $obj = Dependency.new(service_path => $dep); + } + $name => $obj }).hash; } -- cgit v1.2.3-54-g00ecf