summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/CPAN/Distrostatus.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/lib/CPAN/Distrostatus.pm')
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Distrostatus.pm45
1 files changed, 45 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Distrostatus.pm b/Master/tlpkg/tlperl/lib/CPAN/Distrostatus.pm
new file mode 100644
index 00000000000..0cc6cc9a793
--- /dev/null
+++ b/Master/tlpkg/tlperl/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;