Dist::Zilla::MVP::Assembler::Zilla - Dist::Zilla::MVP::Assembler for the Dist::Zilla object


Dist-Zilla documentation Contained in the Dist-Zilla distribution.

Index


Code Index:

NAME

Top

Dist::Zilla::MVP::Assembler::Zilla - Dist::Zilla::MVP::Assembler for the Dist::Zilla object

VERSION

Top

version 4.200008

OVERVIEW

Top

This is a subclass of Dist::Zilla::MVP::Assembler used when assembling the Dist::Zilla object.

It has a zilla_class attribute, which is used to determine what class of Dist::Zilla object to create. (This isn't very useful now, but will be in the future when minting and building use different subclasses of Dist::Zilla.)

Upon construction, the assembler will create a Dist::Zilla::MVP::RootSection as the initial section.

METHODS

Top

zilla

This method is a shortcut for retrieving the zilla from the root section. If called before that section has been finalized, it will result in an exception.

register_stash

  $assembler->register_stash($name => $stash_object);

This adds a stash to the assembler's zilla's stash registry -- unless the name is already taken, in which case an exception is raised.

AUTHOR

Top

Ricardo SIGNES <rjbs@cpan.org>

COPYRIGHT AND LICENSE

Top


Dist-Zilla documentation Contained in the Dist-Zilla distribution.

package Dist::Zilla::MVP::Assembler::Zilla;
BEGIN {
  $Dist::Zilla::MVP::Assembler::Zilla::VERSION = '4.200008';
}
use Moose;
extends 'Dist::Zilla::MVP::Assembler';
# ABSTRACT: Dist::Zilla::MVP::Assembler for the Dist::Zilla object


use MooseX::Types::Perl qw(PackageName);
use Dist::Zilla::MVP::RootSection;

sub BUILD {
  my ($self) = @_;

  my $root = Dist::Zilla::MVP::RootSection->new;
  $self->sequence->add_section($root);
}

has zilla_class => (
  is       => 'ro',
  isa      => PackageName,
  required => 1
);


sub zilla {
  my ($self) = @_;
  $self->sequence->section_named('_')->zilla;
}


sub register_stash {
  my ($self, $name, $object) = @_;
  $self->log_fatal("tried to register $name stash entry twice")
    if $self->zilla->_local_stashes->{ $name };

  $self->zilla->_local_stashes->{ $name } = $object;
  return;
}

no Moose;
1;

__END__