App-BitBucketCli

 view release on metacpan or  search on metacpan

lib/App/BitBucketCli/Command/Repositories.pm  view on Meta::CPAN

package App::BitBucketCli::Command::Repositories;

# 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 repositories {
    my ($self) = @_;

    my @repositories = sort {
            lc $a->name cmp lc $b->name;
        }
        $self->core->repositories($self->opt->{project});

    my %len;
    for my $repository (@repositories) {
        $len{name} = length $repository->name if !$len{name} || $len{name} < length $repository->name;
        $len{state} = length $repository->state if !$len{state} || $len{state} < length $repository->state;
    }
    for my $repository (@repositories) {
        if ( $self->opt->long ) {
            printf "%-$len{name}s %-$len{state}s %s\n", $repository->name, $repository->state, $repository->self;
        }
        else {
            print $repository->name . "\n";
        }
    }
}

1;

__END__

=head1 NAME

App::BitBucketCli::Command::Repositories - Show all the repositories of a project

=head1 VERSION

This documentation refers to App::BitBucketCli::Command::Repositories version 0.009

=head1 SYNOPSIS

   bb-cli repositories [options]

 OPTIONS:
  -c --colors[=]str Change colours used specified as key=value



( run in 0.858 second using v1.01-cache-2.11-cpan-39bf76dae61 )