NAME
Dist::Zilla::Role::PPI - a role for plugins which use PPI
VERSION
version 5.001
DESCRIPTION
This role provides some common utilities for plugins which use PPI
METHODS
ppi_document_for_file
my $document = $self->ppi_document_for_file($file);
Given a dzil file object (anything that does Dist::Zilla::Role::File), this method returns a new PPI::Document for that file's content.
Internally, this method caches these documents. If multiple plugins want a document for the same file, this avoids reparsing it.
save_ppi_document_to_file
my $document = $self->save_ppi_document_to_file($document,$file);
Given a PPI::Document and a dzil file object (anything that does Dist::Zilla::Role::File), this method saves the serialized document in the file.
It also updates the internal PPI document cache with the new document.
document_assigns_to_variable
if( $self->ppi_document_for_file($document, '$FOO')) { ... }
This method returns true if the document assigns to the given variable.
AUTHOR
Ricardo SIGNES <rjbs@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by Ricardo SIGNES.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.