NAME

App::FuguSeed::Words - the flow of fuguseed-words

SYNOPSIS

use App::FuguSeed::Words;

exit App::FuguSeed::Words->run(@ARGV);

my $path = App::FuguSeed::Words->share('english.txt');

DESCRIPTION

App::FuguSeed::Words dispatches the two verbs of fuguseed-words through Fugu::CLI. The verbs are build and check.

build reads a word list file and writes the sheet as HTML to standard output. check reads a built sheet and a word list file, and it proves that the sheet is correct for the list.

Standard output carries the result of a verb only. Every diagnostic goes to standard error through the logger of the command line interface.

The module reads the share files of the sheet, and it prints the result of a verb. The build and the check themselves hold no stream.

The program sees no seed word, so it can run on any computer. No module that it loads maps 12 words to anything.

run

run(@argument) dispatches the verb and returns the exit code of the program. The codes are 0 for success, 1 for a failure, and 2 for a usage error. A command line without a verb is a usage error.

share

share($name) returns the path of the share file $name under share/fuguseed, in a checkout and in an installed distribution. The three share files are english.txt, sheet.html, and sheet.css.

RETURN VALUES

run() returns one of the three exit codes. share() returns undef when no tree holds the file.

ERRORS

A list file with another digest than the source list, a sheet that the program cannot read, and a defect of a sheet are recoverable errors. Each one prints one line on standard error and gives the failure exit code.

A malformed value of --date and a wrong argument count are usage errors. Each one prints the usage line of the verb on standard error.

SEE ALSO

App::FuguSeed::Sheet, App::FuguSeed::Check, App::FuguSeed::ListFile, and the manuals fuguseed-words(1) and fuguseed(7).

AUTHORS

Dick Olsson <hi@senzilla.io>