1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
# ============================================================================
package MooseX::App::Plugin::ConfigHome::Meta::Class;
# ============================================================================
use 5.010;
use utf8;
use namespace::autoclean;
use Moose::Role;
use File::HomeDir qw();
use File::Spec qw();
around 'proto_config' => sub {
my $orig = shift;
my ($self,$command_class,$result,$errors) = @_;
unless (defined $result->{config}) {
my $data_dir = File::Spec->catfile(
File::HomeDir->my_home,
'.'.$self->app_base
);
foreach my $extension (Config::Any->extensions) {
my $check_file = File::Spec->catfile(
$data_dir,
'config.'.$extension
);
if (-e $check_file) {
$result->{config} = $check_file;
last;
}
}
}
return $self->$orig($command_class,$result,$errors);
};
1;
|