Skip to content

Commit c4c99b9

Browse files
committed
Extract repeated metadata collection code into its own routine
1 parent 9e6ea27 commit c4c99b9

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

lib/Pod/Htmlify.pm6

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -38,27 +38,26 @@ class Website is export {
3838
#| collect metadata for all example files
3939
method collect-all-metadata {
4040
for $!categories.categories-list <-> $category {
41-
my $category-key = $category.key;
42-
my @files = files-in-category($category-key, base-dir => $!base-categories-dir);
43-
for @files -> $file {
44-
my $example = self.collect-example-metadata($file, $category-key);
45-
$category.examples{$file.basename} = $example;
46-
}
41+
self.collect-category-metadata($category, $!base-categories-dir);
4742
if $category.subcategories {
4843
for $category.subcategories.categories-list <-> $subcategory {
49-
my $subcategory-key = $subcategory.key;
50-
my $base-dir = $!base-categories-dir ~ "/" ~ $category-key;
51-
my @files = files-in-category($subcategory-key,
52-
base-dir => $base-dir);
53-
for @files -> $file {
54-
my $example = self.collect-example-metadata($file, $subcategory-key);
55-
$subcategory.examples{$file.basename} = $example;
56-
}
44+
my $base-dir = $!base-categories-dir ~ "/" ~ $category.key;
45+
self.collect-category-metadata($subcategory, $base-dir);
5746
}
5847
}
5948
}
6049
}
6150

51+
#| collect metadata for a given category
52+
method collect-category-metadata($category, $category-dir) {
53+
my $category-key = $category.key;
54+
my @files = files-in-category($category-key, base-dir => $category-dir);
55+
for @files -> $file {
56+
my $example = self.collect-example-metadata($file, $category-key);
57+
$category.examples{$file.basename} = $example;
58+
}
59+
}
60+
6261
#| collect metadata for a given example
6362
method collect-example-metadata($file, $category-key) {
6463
say "Collecting metadata from $file";

0 commit comments

Comments
 (0)