ETOOBUSY 🚀 minimal blogging for the impatient
App::Easer - auto-commands reflection
TL;DR
I added some reflection to get hold of instances for handling auto-commands
help,commands, andtree.
While porting a test for App::Easer V2, I found out
that there was an undocumented feature in V1 that allowed to get hold of
the help and commands sub-commands, e.g. to support command-line
options like --help and --commands (e.g. --help might be useful
for leaf commands).
So it was natural to extend the interface to add methods that return the related instances:
sub auto_child ($self, $name, $inflate = 0) {
my $child = __PACKAGE__ . '::' . ucfirst(lc($name));
($child) = $self->inflate_children($child) if $inflate;
return $child;
}
# ...
sub auto_commands ($self) { return $self->auto_child('commands', 1) }
sub auto_help ($self) { return $self->auto_child('help', 1) }
sub auto_tree ($self) { return $self->auto_child('tree', 1) }
New test onboard!