47 lines
1.2 KiB
Perl
47 lines
1.2 KiB
Perl
|
package App::Git::IssueManager::Status;
|
||
|
#ABSTRACT: class implementing the status issue command of the GIT IssueManager
|
||
|
use strict;
|
||
|
use warnings;
|
||
|
use MooseX::App::Command;
|
||
|
extends qw(App::Git::IssueManager);
|
||
|
use Git::LowLevel;
|
||
|
use Git::IssueManager;
|
||
|
use Git::IssueManager::Issue;
|
||
|
use Text::ANSITable;
|
||
|
use Term::ANSIColor;
|
||
|
use Try::Tiny;
|
||
|
use Data::Dumper;
|
||
|
|
||
|
command_short_description 'get the status of issues repository';
|
||
|
command_usage 'git issue status';
|
||
|
|
||
|
sub run
|
||
|
{
|
||
|
my $self = shift;
|
||
|
|
||
|
my $manager = Git::IssueManager->new(repository=>Git::LowLevel->new(git_dir=> "."));
|
||
|
if (!$manager->ready)
|
||
|
{
|
||
|
print("IssueManager not initialized yet. Please call \"init\" command to do so.");
|
||
|
exit(-1);
|
||
|
}
|
||
|
binmode(STDOUT, ":utf8");
|
||
|
my $stats=$manager->stats();
|
||
|
my $tag = $manager->tag();
|
||
|
|
||
|
my $t = Text::ANSITable->new;
|
||
|
$t->use_utf8(1);
|
||
|
$t->use_color(1);
|
||
|
$t->use_box_chars(1);
|
||
|
$t->border_style('Default::single_boxchar');
|
||
|
$t->columns(["Name","Value"]);
|
||
|
$t->add_row(["Open Issues",$stats->{open}]);
|
||
|
$t->add_row(["Assigned Issues",$stats->{assigned}]);
|
||
|
$t->add_row(["Inprogress Issues",$stats->{inprogess}]);
|
||
|
$t->add_row(["Closed Issues",$stats->{closed}]);
|
||
|
|
||
|
print $t->draw;
|
||
|
}
|
||
|
|
||
|
1;
|