CGI-Info
view release on metacpan or search on metacpan
}
## script\_path
Finds the full path name of the script.
use CGI::Info;
my $info = CGI::Info->new();
my $fullname = $info->script_path();
my @statb = stat($fullname);
if(@statb) {
my $mtime = localtime $statb[9];
print "Last-Modified: $mtime\n";
# TODO: only for HTTP/1.1 connections
# $etag = Digest::MD5::md5_hex($html);
printf "ETag: \"%x\"\n", $statb[9];
}
## script\_dir
lib/CGI/Info.pm view on Meta::CPAN
}
=head2 script_path
Finds the full path name of the script.
use CGI::Info;
my $info = CGI::Info->new();
my $fullname = $info->script_path();
my @statb = stat($fullname);
if(@statb) {
my $mtime = localtime $statb[9];
print "Last-Modified: $mtime\n";
# TODO: only for HTTP/1.1 connections
# $etag = Digest::MD5::md5_hex($html);
printf "ETag: \"%x\"\n", $statb[9];
}
=cut
scripts/generate_index.pl view on Meta::CPAN
$class,
$total_info->{statement}{percentage} // 0,
$total_info->{branch}{percentage} // 0,
$total_info->{condition}{percentage} // 0,
$total_info->{subroutine}{percentage} // 0,
$total_pct
);
}
my $timestamp = 'Unknown';
if (my $stat = stat($config{cover_db})) {
$timestamp = strftime('%Y-%m-%d %H:%M:%S', localtime($stat->mtime));
}
Readonly my $commit_url => "https://github.com/$config{github_user}/$config{github_repo}/commit/$commit_sha";
my $short_sha = substr($commit_sha, 0, 7);
push @html, '</tbody></table>';
# Parse historical snapshots
my @trend_points;
scripts/generate_index.pl view on Meta::CPAN
foreach my $file (reverse sort @history_files) {
last if $processed_count >= $config{max_points};
my $json = $historical_cache{$file};
next unless $json->{summary}{Total};
my ($sha) = $file =~ /-(\w{7})\.json$/;
next unless $commit_messages{$sha}; # Skip merge commits
my $timestamp = $commit_times{$sha} // strftime('%Y-%m-%dT%H:%M:%S', localtime((stat($file))->mtime));
$timestamp =~ s/ /T/;
$timestamp =~ s/\s+([+-]\d{2}):?(\d{2})$/$1:$2/; # Fix space before timezone
$timestamp =~ s/ //g; # Remove any remaining spaces
my $pct = $json->{summary}{Total}{total}{percentage} // 0;
my $color = 'gray'; # Will be set properly after sorting
my $url = "https://github.com/$config{github_user}/$config{github_repo}/commit/$sha";
my $comment = $commit_messages{$sha};
# Store with timestamp for sorting
my $i = new_ok('CGI::Info');
ok(File::Spec->file_name_is_absolute($i->script_path()));
ok($i->script_path() =~ /.+script\.t$/);
cmp_ok($i->script_name(), 'eq', 'script.t', 'script_name() works');
ok($i->script_path() eq File::Spec->catfile($i->script_dir(), $i->script_name()));
ok($i->script_path() eq File::Spec->catfile(CGI::Info::script_dir(), $i->script_name()));
# Check calling twice return path
ok($i->script_name() eq 'script.t');
ok(-f $i->script_path());
my @statb = stat($i->script_path());
ok(defined($statb[9]));
# Test full path given as the name of the script
$ENV{'SCRIPT_NAME'} = $i->script_path();
$i = new_ok('CGI::Info');
ok(File::Spec->file_name_is_absolute($i->script_path()));
ok($i->script_path() =~ /.+script\.t$/);
if($^O eq 'MSWin32') {
TODO: {
local $TODO = 'Absolute path test needs to be done on Windows';
( run in 0.938 second using v1.01-cache-2.11-cpan-f6f0959fb03 )