logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Exporter::Declare::Export - Base class for all export objects.

Authors

       Chad Granum exodist7@gmail.com

Description

       All exports are refs, and all are blessed. This class tracks some per-export information via an inside-
       out objects system. All things an export may need to do, such as inject itself into a package are handled
       here. This allows some complicated, or ugly logic to be abstracted out of the exporter and metadata
       classes.

Methods

       $class->new( $ref, exported_by => $package, %data )
           Create a new export from $ref. You must specify the name of the class doing the exporting.

       $export->inject( $package, $name, @args )
           This  will  inject  the  export  into  $package  under  $name.  @args  are ignored in most cases. See
           Exporter::Declare::Export::Generator for an example where they are used.

       $package = $export->exported_by()
           Returns the name of the package from which this export was originally exported.

       @params = $export->required_specs()
           Documented for subclassing purposes. This should always return  a  list  of  required  parameters  at
           construction time.

       $export->DESTROY()
           Documented for subclassing purposes. This takes care of cleanup related to storing data in an inside-
           out objects system.

Name

       Exporter::Declare::Export - Base class for all export objects.

See Also