Dist::Zilla::Role::ModuleMetadata - A role for plugins that use Module::Metadata
version 0.006
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;
...
}
This role provides some common utilities for Dist::Zilla plugins which use Module::Metadata and the information that it provides.
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.
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
.
Karen Etheridge <ether@cpan.org>
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.