App-BitBucketCli

 view release on metacpan or  search on metacpan

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

package App::BitBucketCli::Command::Repository;

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

    my $details  = $self->core->repository($self->opt->{project}, $self->opt->{repository});
    my $branches = @{ $self->core->get_branches($self->opt->{project}, $self->opt->{repository}) || [] };
    my $prs_open     = @{ $self->core->get_pull_requests($self->opt->{project}, $self->opt->{repository}) || [] };
    my $prs_merged   = @{ $self->core->get_pull_requests($self->opt->{project}, $self->opt->{repository}, 'merged') || [] };
    my $prs_declined = @{ $self->core->get_pull_requests($self->opt->{project}, $self->opt->{repository}, 'declined') || [] };

    print $self->opt->{repository}, "\n";
    print "  $details->{description}\n" if $details->{description};
    print "  git clone $details->{cloneUrl}\n";
    print "  Pull Requests: $prs_open / $prs_merged / $prs_declined\n";
    print "  Branches     : $branches\n";
}

1;

__END__

=head1 NAME

App::BitBucketCli::Command::Repository - Shows details of a repository

=head1 VERSION

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

=head1 SYNOPSIS

   bb-cli repository [options]

 OPTIONS:
  -c --colors[=]str Change colours used specified as key=value
                    eg --colors disabled=grey22
                    current colour names aborted, disabled and notbuilt
  -f --force        Force action
  -l --long         Show long form data if possible
  -p --project[=]str
                    For commands that need a project name this is the name to use
  -R --recipient[=]str



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