package Dist::Maker::Template::Moose;
use utf8;
use Mouse;
use MouseX::StrictConstructor;
extends 'Dist::Maker::Template::Default';
with 'Dist::Maker::Template';
sub distribution {
return <<'DIST';
: cascade Default
:# @@ Makefile.PL
: override mpl_requires -> {
requires 'Moose' => 1.13;
requires 'MooseX::StrictConstructor' => 0.11;
: }
:# @@ <: $dist.module :>.pm
: override module_header -> {
use Moose;
use MooseX::StrictConstructor;
: }
: override module_code -> {
has foo => (
is => 'ro',
isa => 'Str',
required => 1,
);
: }
: override module_footer -> {
no Moose;
__PACKAGE__->meta->make_immutable();
: }
:# @@ t/000_load.t
: after load_t_testing_info -> {
eval { require Moose };
diag "Moose/$Moose::VERSION";
: }
:# @@ t/001_basic.t
: override basic_t_tests -> {
my $object = <: $dist.module :>->new(foo => 42);
isa_ok $object, '<: $dist.module :>';
: }
DIST
}
no Mouse;
__PACKAGE__->meta->make_immutable();
__END__
=head1 NAME
Dist::Maker::Template::Moose - Distribution template using Moose
=cut