Provided by: libppix-editortools-perl_0.21-1_all bug

NAME

       PPIx::EditorTools::RenamePackageFromPath - Change the package name based on the files path

VERSION

       version 0.21

SYNOPSIS

           my $munged = PPIx::EditorTools::RenamePackageFromPath->new->rename(
               code        => "package TestPackage;\nuse strict;\nBEGIN {
               $^W = 1;
       }\n1;\n",
               filename => './lib/Test/Code/Path.pm',
           );

           my $new_code_as_string = $munged->code;
           my $package_ppi_element = $munged->element;

DESCRIPTION

       This module uses PPI to change the package name of code.

METHODS

       new()
           Constructor. Generally shouldn't be called with any arguments.

       rename( ppi => PPI::Document $ppi, filename => Str )
       rename( code => Str $code, filename => Str )
           Accepts either a "PPI::Document" to process or a string containing the code (which
           will be converted into a "PPI::Document") to process.  Replaces the package name with
           that supplied in the "filename" parameter and returns a
           "PPIx::EditorTools::ReturnObject" with the new code available via the "ppi" or "code"
           accessors, as a "PPI::Document" or "string", respectively.

           An attempt will be made to derive the package name from the filename passed as a
           parameter.  The filename's path will converted to an absolute path and it will be
           searched for a "lib" directory which will be assumed the start of the package name. If
           no "lib" directory can be found in the absolute path, the relative path will be used.

           Croaks with a "package name not found" exception if unable to find the package name.

SEE ALSO

       This class inherits from "PPIx::EditorTools".  Also see App::EditorTools, Padre, and PPI.

AUTHORS

       ·   Steffen Mueller "smueller@cpan.org"

       ·   Mark Grimes "mgrimes@cpan.org"

       ·   Ahmad M. Zawawi <ahmad.zawawi@gmail.com>

       ·   Gabor Szabo  <gabor@szabgab.com>

       ·   Yanick Champoux <yanick@cpan.org>

COPYRIGHT AND LICENSE

       This software is copyright (c) 2017, 2014, 2012 by The Padre development team as listed in
       Padre.pm..

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

perl v5.26.1                                2017-12-PPIx::EditorTools::RenamePackageFromPath(3pm)