summaryrefslogtreecommitdiffstats
path: root/lib/Bread/Board.pm
diff options
context:
space:
mode:
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;
}