Alien-Base-ModuleBuild
view release on metacpan or search on metacpan
lib/Alien/Base/ModuleBuild/Cabinet.pm view on Meta::CPAN
package Alien::Base::ModuleBuild::Cabinet;
use strict;
use warnings;
use Sort::Versions qw( versioncmp );
# ABSTRACT: Private class
our $VERSION = '1.17'; # VERSION
sub new {
my $class = shift;
my $self = ref $_[0] ? shift : { @_ };
bless $self, $class;
return $self;
}
sub files { shift->{files} }
sub add_files {
my $self = shift;
push @{ $self->{files} }, @_;
return $self->files;
}
sub sort_files {
my $self = shift;
$self->{files} = [
sort { $b->has_version <=> $a->has_version || ($a->has_version ? versioncmp($b->version, $a->version) : versioncmp($b->filename, $a->filename)) }
@{ $self->{files} }
];
## split files which have versions and those which don't (sorted on filename)
#my ($name, $version) = part { $_->has_version } @{ $self->{files} };
#
## store the sorted lists of versioned, then non-versioned
#my @sorted;
#push @sorted, sort { versioncmp( $b->version, $a->version ) } @$version if $version;
#push @sorted, sort { versioncmp( $b->filename, $a->filename ) } @$name if $name;
#
#$self->{files} = \@sorted;
return;
}
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
Alien::Base::ModuleBuild::Cabinet - Private class
=head1 VERSION
version 1.17
=head1 SEE ALSO
=over 4
=item L<Alien>
=item L<Alien::Base>
=back
=head1 AUTHOR
( run in 0.880 second using v1.01-cache-2.11-cpan-787462296c9 )