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;