summaryrefslogtreecommitdiffstats
path: root/lib/Bread/Board.pm
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2012-12-28 18:05:46 -0600
committerJesse Luehrs <doy@tozt.net>2012-12-28 18:05:46 -0600
commit8761aaac596dfd3fe595584aa44720084ccec2eb (patch)
treec32ba8a308e8e1dddcfbd5d1623176880e9e273f /lib/Bread/Board.pm
parentacd81a059abac533c0af5ff31b0d672f7f3f2bc1 (diff)
downloadp6-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.pm22
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;
}