diff options
Diffstat (limited to 'Master/tlpkg/tlperl0/lib/CPAN/Distrostatus.pm')
-rwxr-xr-x | Master/tlpkg/tlperl0/lib/CPAN/Distrostatus.pm | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl0/lib/CPAN/Distrostatus.pm b/Master/tlpkg/tlperl0/lib/CPAN/Distrostatus.pm new file mode 100755 index 00000000000..0cc6cc9a793 --- /dev/null +++ b/Master/tlpkg/tlperl0/lib/CPAN/Distrostatus.pm @@ -0,0 +1,45 @@ +# -*- Mode: cperl; coding: utf-8; cperl-indent-level: 4 -*- +# vim: ts=4 sts=4 sw=4: +package CPAN::Distrostatus; +use overload '""' => "as_string", + fallback => 1; +use vars qw($something_has_failed_at); +use vars qw( + $VERSION +); +$VERSION = "5.5"; + + +sub new { + my($class,$arg) = @_; + my $failed = substr($arg,0,2) eq "NO"; + if ($failed) { + $something_has_failed_at = $CPAN::CurrentCommandId; + } + bless { + TEXT => $arg, + FAILED => $failed, + COMMANDID => $CPAN::CurrentCommandId, + TIME => time, + }, $class; +} +sub something_has_just_failed () { + defined $something_has_failed_at && + $something_has_failed_at == $CPAN::CurrentCommandId; +} +sub commandid { shift->{COMMANDID} } +sub failed { shift->{FAILED} } +sub text { + my($self,$set) = @_; + if (defined $set) { + $self->{TEXT} = $set; + } + $self->{TEXT}; +} +sub as_string { + my($self) = @_; + $self->text; +} + + +1; |