# -*- mode: perl6 -*- class WebCoso { has $.srcdir; has $.destdir; has $!tmpdir = $*SPEC.tmpdir.child('abcde'); has @!docs; method get-files($dir,$basename,$ext) { my %files = gather { for my $base ($.srcdir,$!tmpdir) { my @files = $base.child($dir).dir( test => /$basename \. .+? \. $ext/, ); take map { (.name ~~ /$basename \. (.+?) \. $ext/)[0] => $_ } @files; } } return %files; } method put-file($dir,$basename,$lang,$ext,$contents) { $!tmpdir.child($dir).child("${basename}.${lang}.${ext}").spurt($contents); return; } method new-doc(:$dir) { @!docs.push(Document.new(:$dir,wc=>self); } method new-feed(:$dir) { @!docs.push(Feed.new(:$dir,wc=>self); } method run() { .make() for @!docs; } }