The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Test::PAUSE::ConsistentPermissions::Check

VERSION

version 0.003

DESCRIPTION

This class downloads the permissions from CPAN and checks them for consistency.

It returns basic permissions information about the module regardless (assuming it was found on CPAN) and a problems array with any problems that were found.

    my $perms_test = Test::PAUSE::ConsistentPermissions::Check->new;
    my $report = $perms_test->report_problems([qw/
        OpusVL::AppKit
        OpusVL::AppKit::Action::AppKitForm
        OpusVL::AppKit::Builder
    /], 'OpusVL::AppKit');
    # report 
    # {
    #     module => 'OpusVL::AppKit',
    #     owner => 'NEwELLC',
    #     comaint => ['ALTREUS', 'BRADH'],
    #     inconsistencies => 0,
    #     problems => [],
    # }

It reports missing permissions in the problem array, but does not increment the inconsistencies counter for that as they probably aren't inconsistent, simply not present yet. This is likely to happen when you are preparing to upload a new version.

NAME

Test::PAUSE::ConsistentPermissions::Check - Class used to check permissions.

METHODS

report_problems

This expects an array reference of modules to check, and the module to use as the authority for the permissions.

    my $report = $perms_test->report_problems($modules, $authority_module);

If the module was not found in the permissions list then the owner is set to UNKOWN and the problems has a hashref with the key 'missing'.

ATTRIBUTES

permissions_client

This is the PAUSE::Permissions object used to check the PAUSE permissions.

AUTHOR

Colin Newell <colin.newell@gmail.com>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2016 by Colin Newell.

This is free software, licensed under:

  The MIT (X11) License