summaryrefslogtreecommitdiff
path: root/lib/Carton/Dist/Specific.pm
blob: c594cad58a5f7e318e25cb482cbe2a27d706b2cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package Carton::Dist::Specific;
use Moo;
use warnings NONFATAL => 'all';

use File::Basename ();

has 'module' => (is => 'rw');
has 'requirement' => (is => 'rw', handles => ['options']);

sub provides {
    my $self = shift;
    return {
        $self->module => {
            version => $self->requirement->version, # FIXME version can be a Range
        },
    };
}

sub pathname {
    my $self = shift;

    if (my $git = $self->options->{git}) {
        $git .= '@' . $self->options->{ref} if $self->options->{ref};
        return $git;
    } elsif ($self->options->{dist}) {
        return $self->options->{dist};
    }
}

1;