This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Be sure to find the vmsish pragma for one-liners in exit.t.
[perl5.git] / lib / CPAN / Distrostatus.pm
1 # -*- Mode: cperl; coding: utf-8; cperl-indent-level: 4 -*-
2 # vim: ts=4 sts=4 sw=4:
3 package CPAN::Distrostatus;
4 use overload '""' => "as_string",
5     fallback => 1;
6 use vars qw($something_has_failed_at);
7 use vars qw(
8             $VERSION
9 );
10 $VERSION = "5.5";
11
12
13 sub new {
14     my($class,$arg) = @_;
15     my $failed = substr($arg,0,2) eq "NO";
16     if ($failed) {
17         $something_has_failed_at = $CPAN::CurrentCommandId;
18     }
19     bless {
20            TEXT => $arg,
21            FAILED => $failed,
22            COMMANDID => $CPAN::CurrentCommandId,
23            TIME => time,
24           }, $class;
25 }
26 sub something_has_just_failed () {
27     defined $something_has_failed_at &&
28         $something_has_failed_at == $CPAN::CurrentCommandId;
29 }
30 sub commandid { shift->{COMMANDID} }
31 sub failed { shift->{FAILED} }
32 sub text {
33     my($self,$set) = @_;
34     if (defined $set) {
35         $self->{TEXT} = $set;
36     }
37     $self->{TEXT};
38 }
39 sub as_string {
40     my($self) = @_;
41     $self->text;
42 }
43
44
45 1;