ETOOBUSY 🚀 minimal blogging for the impatient
App::Easer enhancement
TL;DR
Making App::Easer a little more consistent.
While using App::Easer, I noticed an inconsistency:
my $app = {
commands => {
key_for_foo => {
supports => ['foo'],
...
},
key_for_bar => {
supports => ['bar'],
...
},
MAIN => {
children => [qw< key_for_foo key_for_bar >],
'default-child' => 'foo',
...
}
},
...
};
In shorts, array children
takes a list of the keys as they appear in
the commands
hash, but default-child
takes the name of one child
as it is seen outside. In the specific case, children
contains
key_for_bar
(which is the key in commands
), while default-children
has bar
(which is the supported name outside).
This is an inconsistency (over which I tripped, of course!), because
default-child
should be in line with what is inside children
. Which
leads us to the trial release I just sent to CPAN: App::Easer v0.3
TRIAL. Now default-child
takes key_for_bar
just like
children
.
I hope it will be useful… to future me 😉