diff options
author | Jesse Luehrs <doy@tozt.net> | 2012-12-28 18:05:46 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2012-12-28 18:05:46 -0600 |
commit | 8761aaac596dfd3fe595584aa44720084ccec2eb (patch) | |
tree | c32ba8a308e8e1dddcfbd5d1623176880e9e273f /lib/Bread/Board.pm | |
parent | acd81a059abac533c0af5ff31b0d672f7f3f2bc1 (diff) | |
download | p6-bread-board-8761aaac596dfd3fe595584aa44720084ccec2eb.tar.gz p6-bread-board-8761aaac596dfd3fe595584aa44720084ccec2eb.zip |
implement arrays of strings for dependencies
Diffstat (limited to 'lib/Bread/Board.pm')
-rw-r--r-- | lib/Bread/Board.pm | 22 |
1 files changed, 20 insertions, 2 deletions
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.<dependencies> { if %params.<dependencies> ~~ Array { %params.<dependencies> = %params.<dependencies>.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.<dependencies> { if %params.<dependencies> ~~ Array { %params.<dependencies> = %params.<dependencies>.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; } |