package Reporter; use Reporter::Model; use Reporter::Validation; use Reporter::Class; # provides Moo, Modern::Perl, Local::MooX::Types & Data::Printer::p use FindBin qw($RealBin); # warn $RealBin; use Path::Tiny; use Git; has dbname => ( is => 'ro', isa => String, required => 1 ); # hilis4, test, etc has model => ( is => 'lazy', builder => sub { Reporter::Model->new( dbname => shift->dbname ) } ); has validator => ( # Data::FormValidator: is => 'lazy', builder => sub { Reporter::Validation->new( dbname => shift->dbname ) } ); sub enable_sql_trace { $ENV{SQL_TRACE} = 1 } sub symbolise { Local::Utils::symbolise($_[1]) } my $git = Git->repository(Directory => path($RealBin, '..', '.git')->realpath); sub version { $git->command_oneline('rev-list', 'HEAD', '--count') } sub gitlog { my @args = ( '--pretty=format:"%ad :: %s"', '--date=relative' ); my @revs = $git->command( 'log', @args ); return \@revs; }; 1;