X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fgit-codeowners;a=blobdiff_plain;f=lib%2FFile%2FCodeowners.pm;h=648390e1ea45888ab1ffd60f904a66b9b9db0b84;hp=fb3ec552c889bd6431be1ac7dd9d3c0c000f3fa3;hb=3c7ed3d762399efb2d01121392f7115104095788;hpb=4c0f6ed552c529fc6a3a09ffb6de91d6344ac790 diff --git a/lib/File/Codeowners.pm b/lib/File/Codeowners.pm index fb3ec55..648390e 100644 --- a/lib/File/Codeowners.pm +++ b/lib/File/Codeowners.pm @@ -355,6 +355,31 @@ sub patterns { return $patterns; } +=method projects + + $projects = $codeowners->projects; + +Get an arrayref of all projects defined. + +=cut + +sub projects { + my $self = shift; + + return $self->{projects} if $self->{projects}; + + my %projects; + for my $line (@{$self->_lines}) { + my $project = $line->{project}; + $projects{$project}++ if $project; + } + + my $projects = [sort keys %projects]; + $self->{projects} = $projects; + + return $projects; +} + =method update_owners $codeowners->update_owners($pattern => \@new_owners); @@ -497,6 +522,7 @@ sub _clear { delete $self->{match_lines}; delete $self->{owners}; delete $self->{patterns}; + delete $self->{projects}; } 1;