with 'App::SCS::Role::PageChildren';
has $_ => (is => 'ro') for qw(
- title subtitle description keywords plugins html created path
+ title subtitle description keywords html created path
);
-has plugin_config => (is => 'lazy');
-
-sub _build_plugin_config {
- my ($self) = @_;
-
- return $self->plugins;
-}
+has plugin_config => (is => 'rw', 'required' => 1);
sub has_plugin_config { exists $_[0]->plugin_config->{$_[1]} }
: ($name, $config)
);
}
- return $self->with(plugins => pond_write_datum(\@new));
+ return $self->with(plugin_config => \@new);
}
has _raw_page_plugins => (is => 'lazy', builder => sub {
}
my $raw = $io->all;
try {
+
my $extracted = $self->${\"_extract_from_${type}"}($raw);
my $jsony = JSONY->new;
- my $config = reduce { merge($a, $jsony->load($b->all)) } {}, @$config_files;
+ my $config = reduce { merge($a, $jsony->load($b->all)) } [], @$config_files;
$extracted->{plugins} = pond_read_datum('[' . $extracted->{plugins} . ']');
- my $setup = merge($extracted, $config);
+
+ my $setup = $extracted;
+
+ $setup->{plugin_config} = merge($extracted->{plugins}, $config);
try {
my $tmp_cache = io($cache_name . ".tmp");