App-BitBucketCli
view release on metacpan or search on metacpan
lib/App/BitBucketCli/Command/Projects.pm view on Meta::CPAN
package App::BitBucketCli::Command::Projects;
# Created on: 2018-06-07 08:23:20
# Create by: Ivan Wills
# $Id$
# $Revision$, $HeadURL$, $Date$
# $Revision$, $Source$, $Date$
use Moo;
use warnings;
use Carp;
use Data::Dumper qw/Dumper/;
use English qw/ -no_match_vars /;
extends 'App::BitBucketCli';
our $VERSION = 0.009;
sub options {
return [qw/
colors|c=s%
force|f!
long|l
project|p=s
regexp|R
remote|m=s
repository|r=s
sleep|s=i
/]
}
sub projects {
my ($self) = @_;
my @projects = sort {
lc $a->name cmp lc $b->name;
}
$self->core->projects();
my %len;
for my $project (@projects) {
$len{name} = length $project->name if !$len{name} || $len{name} < length $project->name;
$len{key} = length $project->key if !$len{key} || $len{key} < length $project->key;
}
for my $project (@projects) {
if ( $self->opt->long ) {
my $desc = $project->description || '';
if ( $desc ) {
$desc =~ s/^\s+//xms;
$desc = join "\n" . ' ' x ( $len{name} + $len{key} + 2 ),
split /\r?\n/, $desc;
}
printf "%-$len{name}s %-$len{key}s %s\n", $project->name, $project->key, $desc;
}
else {
print $project->name . "\n";
}
}
}
1;
__END__
=head1 NAME
App::BitBucketCli::Command::Projects - Show the projects in the BitBucket Server
=head1 VERSION
( run in 0.596 second using v1.01-cache-2.11-cpan-39bf76dae61 )