The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Util::Medley::Module::Overview

VERSION

version 0.043

SYNOPSIS

  my $mo = Util::Medley::Module::Overview->new(
      moduleName  => 'My::Module',
      hideModules => [ 'Moose::Object' ],
  );

  foreach my $pm ($mo->getPublicMethods) {
      say $pm;  
  }
    

DESCRIPTION

This is simply a wrapper for Module::Overview with enhancements.

ATTRIBUTES

moduleName (required)

The module you want an overview for.

type: Str

hideModules (optional)

List of modules you want to exclude.

type: ArrayRef[Str]

METHODS

getImportedModules

Returns a list of modules used by the module.

getParents

Returns a list of parent modules.

getConstants

Returns a list of constants.

getAllPublicAttributes

Combines and sorts the results from getPublicAttributes() and getInheritedPublicAttributes().

getPublicAttributes

Returns a list of public attributes. Each item in the list is an ArrayRef of [ name, src ].

getInheritedPublicAttributes

Returns a list of inherited public attributes. Each item in the list is an ArrayRef of [ name, src ].

getPrivateAttributes

Returns a list of private attributes. Each item in the list is an ArrayRef of [ name, src ].

getInheritedPrivateAttributes

Returns a list of inherited private attributes. Each item in the list is an ArrayRef of [ name, src ].

getAllPublicMethods

Combines and sorts the results from getPublicMethods() and getInheritedPublicMethods().

getPublicMethods

Returns a list of public methods. Each item in the list is an ArrayRef of [ name, src ].

getInheritedPublicMethods

Returns a list of inherited public methods. Each item in the list is an ArrayRef of [ name, src ].

getPrivateMethods

Returns a list of private methods. Each item in the list is an ArrayRef of [ name, src ].

getInheritedPrivateMethods

Returns a list of inherited private methods. Each item in the list is an ArrayRef of [ name, src ].

method _buildMyMethodsAndAttributes {

        my $mo = $self->_moduleOverview;

        my @methods;
        push @methods, @{ $mo->{methods} }          if $mo->{methods};
    push @methods, @{ $mo->{methods_imported} } if $mo->{methods_imported};

        my @sorted = $self->List->nsort(@methods);
        my @parsed = $self->_parseMethods( \@sorted );

        my @mine;
        foreach my $aref (@parsed) {
                my ( $name, $from ) = @$aref;
                if ( !$from ) {
                        push @mine, $name;
                }
        }

        return \@mine;
}