App-Midgen
view release on metacpan or search on metacpan
lib/App/Midgen/Role/Output.pm view on Meta::CPAN
package App::Midgen::Role::Output;
use Moo::Role;
with qw(
App::Midgen::Role::Output::CPANfile
App::Midgen::Role::Output::Dist
App::Midgen::Role::Output::EUMM
App::Midgen::Role::Output::Infile
App::Midgen::Role::Output::MB
App::Midgen::Role::Output::METAjson
App::Midgen::Role::Output::MIdsl
App::Midgen::Role::Output::MI
);
requires qw( format distribution_name get_module_version verbose );
# Load time and dependencies negate execution time
# use namespace::clean -except => 'meta';
our $VERSION = '0.34';
$VERSION = eval $VERSION; ## no critic
use English qw( -no_match_vars ); # Avoids reg-ex performance penalty
local $OUTPUT_AUTOFLUSH = 1;
use Try::Tiny;
#######
# output_header
#######
sub output_header {
my $self = shift;
if ($self->format eq 'dsl') {
$self->header_dsl($self->distribution_name,
$self->get_module_version('inc::Module::Install::DSL'));
}
elsif ($self->format eq 'mi') {
$self->header_mi($self->distribution_name,
$self->get_module_version('inc::Module::Install'));
}
elsif ($self->format eq 'dist') {
$self->header_dist($self->distribution_name);
}
elsif ($self->format eq 'cpanfile') {
$self->header_cpanfile($self->distribution_name,
$self->get_module_version('inc::Module::Install'))
if not $self->quiet;
}
elsif ($self->format eq 'eumm') {
$self->header_eumm($self->distribution_name);
}
elsif ($self->format eq 'mb') {
$self->header_mb($self->distribution_name);
}
elsif ($self->format eq 'metajson') {
$self->header_metajson($self->distribution_name);
}
elsif ($self->format eq 'infile') {
$self->header_infile($self->distribution_name);
}
return;
}
#######
# output_main_body
#######
sub output_main_body {
my $self = shift;
my $title = shift || 'title missing';
my $required_ref = shift;
if ($self->format eq 'dsl') {
$self->body_dsl($title, $required_ref);
}
elsif ($self->format eq 'mi') {
$self->body_mi($title, $required_ref);
}
elsif ($self->format eq 'dist') {
$self->body_dist($title, $required_ref);
}
elsif ($self->format eq 'cpanfile') {
( run in 2.162 seconds using v1.01-cache-2.11-cpan-437f7b0c052 )