diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Config.pm6 | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/Config.pm6 b/lib/Config.pm6 index 729ccba..abf2b44 100644 --- a/lib/Config.pm6 +++ b/lib/Config.pm6 @@ -44,7 +44,7 @@ class Config is export return ::($parser).write($path, $!content); } - method get(Str $key, Any :$default = Nil) + multi method get(Str $key, Any $default = Nil) { my $index = $!content; @@ -57,6 +57,19 @@ class Config is export $index; } + multi method get(@keyparts, Any $default? = Nil) + { + my $index = $!content; + + for @keyparts -> $part { + return $default unless defined($index{$part}); + + $index = $index{$part}; + } + + $index; + } + method has(Str $key) { my $index = $!content; |