NAME

Dist::Zilla::Role::ModuleMetadata - A role for plugins that use Module::Metadata

VERSION

version 0.006

SYNOPSIS

package Dist::Zilla::Plugin::YourNewPlugin;
use Moose;
with
    'Dist::Zilla::Role::...',
    'Dist::Zilla::Role::ModuleMetadata';
use namespace::autoclean;

sub your_method {
    my $self = shift;

    my $file = ...; # perhaps via the :InstallModules filefinder?
    my $version = $self->module_metadata_for_file->($file, collect_pod => 1)->version;
    ...
}

DESCRIPTION

This role provides some common utilities for Dist::Zilla plugins which use Module::Metadata and the information that it provides.

METHODS PROVIDED

module_metadata_for_file

my $mmd = $self->module_metadata_for_file($file, @options);

Given a dzil file object (anything that does Dist::Zilla::Role::File), this method returns a Module::Metadata object for that file's content. Any extra arguments are passed along to "new_from_handle" in Module::Metadata.

Internally, this method caches these objects. If multiple plugins want an object for the same file, this avoids reparsing it.

SEE ALSO

SUPPORT

Bugs may be submitted through the RT bug tracker (or bug-Dist-Zilla-Role-ModuleMetadata@rt.cpan.org).

There is also a mailing list available for users of this distribution, at http://dzil.org/#mailing-list.

There is also an irc channel available for users of this distribution, at #distzilla on irc.perl.org.

I am also usually active on irc, as 'ether' at irc.perl.org.

AUTHOR

Karen Etheridge <ether@cpan.org>

COPYRIGHT AND LICENCE

This software is copyright (c) 2015 by Karen Etheridge.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.