Per-directory config files
[scpubgit/App-SCS.git] / lib / App / SCS / Page.pm
index 355f129..7a1786d 100644 (file)
@@ -24,9 +24,32 @@ has plugin_config => (is => 'lazy');
 
 sub _build_plugin_config {
   my ($self) = @_;
-  $self->plugins
+
+  my $pluginref = $self->plugins
     ? pond_read_datum('[ '.$self->plugins.' ]')
-    : []
+    : [];
+
+  my @dirs = io->dir($self->path)->splitdir;
+  my $path = '';
+
+  foreach my $dir (@dirs) {
+      $path .= "/$dir";
+      #/home/.../share/pages/blog/config.pond etc
+
+      my $file = $self->_top_dir . "$path/config.pond";
+
+      next if !-f $file;
+
+      next if io($file)->empty;
+
+      my $content = io($file)->slurp;
+
+      my $config = pond_read_datum($content);
+      push @$pluginref, @{$config->{plugins}};
+  }
+
+
+  return $pluginref;
 }
 
 sub has_plugin_config { exists $_[0]->plugin_config->{$_[1]} }