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 )