App-MetaCPANUtils

 view release on metacpan or  search on metacpan

lib/App/MetaCPANUtils.pm  view on Meta::CPAN

    return $res unless $res->[0] == 200;
    #use DD; dd $res;

    my $rels = [sort {version->parse($b->{version}) <=> version->parse($a->{version})} @{$res->[2]}];
    #use DD; dd $rels;

    require Module::Release::Select;
    my $rel = Module::Release::Select::select_release(
        {detail=>1}, $args{version}, $rels);
    #use DD; dd $rel;
    return [404, "Version $args{version} of distribution $args{distribution} not found in releases"] unless $rel;

    my $url = $rel->{download_url};
    (my $filename = $url) =~ s!.+/!!;
    return [412, "File '$filename' already exists, not overwriting (use -O to overwrite)"]
        if (-f $filename) && !$args{overwrite};

    open my $fh, ">", $filename
        or return [500, "Can't open $filename for writing: $!"];

    require HTTP::Tiny::Plugin;



( run in 2.016 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )