Module-Znuny-CoreList

 view release on metacpan or  search on metacpan

lib/Module/Znuny/CoreList.pm  view on Meta::CPAN

package Module::Znuny::CoreList;

# ABSTRACT: what modules shipped with versions of Znuny (>= 6.0.30)

use strict;
use warnings;
use 5.008;

our $VERSION = '1.03'; # VERSION

my $global = {'core' => {'Kernel::Autoload::Test' => 1,'Kernel::Config::Defaults' => 1,'Kernel::GenericInterface::Debugger' => 1,'Kernel::GenericInterface::ErrorHandling' => 1,'Kernel::GenericInterface::ErrorHandling::RequestRetry' => 1,'Kernel::Gene...
my $modules = {'6.0.31' => {'core' => {'Kernel::Modules::AdminCloudServiceSupportDataCollector' => 1,'Kernel::Modules::AdminCloudServices' => 1,'Kernel::Modules::AdminOTRSBusiness' => 1,'Kernel::Modules::AdminRegistration' => 1,'Kernel::Modules::Agen...

sub shipped {
    my ($class,$version,$module) = @_;

    my $version_re = $class->_version_re( $version );
    return if !$version_re;

    return if !$module;

    my @versions_with_module;

    ZNUNYVERSION_SHIPPED:
    for my $znuny_version ( sort keys %{$modules} ) {
        next ZNUNYVERSION_SHIPPED unless $znuny_version =~ $version_re;

        if ( $modules->{$znuny_version}->{core}->{$module} ||
             $modules->{$znuny_version}->{cpan}->{$module} ||
             $global->{core}->{$module} ||
             $global->{cpan}->{$module} ) {
            push @versions_with_module, $znuny_version;
        }
    }

    return @versions_with_module;
}

sub modules {
    my ($class,$version) = @_;

    my $version_re = $class->_version_re( $version );
    return if !$version_re;

    my %modules_in_znuny;

    ZNUNYVERSION_MODULE:
    for my $znuny_version ( keys %{$modules} ) {
        next ZNUNYVERSION_MODULE unless $znuny_version =~ $version_re;

        my $hashref = $modules->{$znuny_version}->{core};
        my @modulenames = keys %{$hashref || {}};

        @modules_in_znuny{@modulenames} = (1) x @modulenames;
    }

    if ( $version =~ m{x} || exists $modules->{$version} ) {
        my @global_modules = keys %{ $global->{core} };
        @modules_in_znuny{@global_modules} = (1) x @global_modules;
    }

    my @modules = sort keys %modules_in_znuny;
    return @modules;
}

sub cpan_modules {
    my ($class,$version) = @_;

    my $version_re = $class->_version_re( $version );
    return if !$version_re;



( run in 0.799 second using v1.01-cache-2.11-cpan-96521ef73a4 )