summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/autodie/skip.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/lib/autodie/skip.pm')
-rw-r--r--Master/tlpkg/tlperl/lib/autodie/skip.pm54
1 files changed, 54 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl/lib/autodie/skip.pm b/Master/tlpkg/tlperl/lib/autodie/skip.pm
new file mode 100644
index 00000000000..af40662810a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/autodie/skip.pm
@@ -0,0 +1,54 @@
+package autodie::skip;
+use strict;
+use warnings;
+
+our $VERSION = '2.23'; # VERSION
+
+# This package exists purely so people can inherit from it,
+# which isn't at all how roles are supposed to work, but it's
+# how people will use them anyway.
+
+if ($] < 5.010) {
+ # Older Perls don't have a native ->DOES. Let's provide a cheap
+ # imitation here.
+
+ *DOES = sub { return shift->isa(@_); };
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+autodie::skip - Skip a package when throwing autodie exceptions
+
+=head1 SYNPOSIS
+
+ use parent qw(autodie::skip);
+
+=head1 DESCRIPTION
+
+This dummy class exists to signal that the class inheriting it should
+be skipped when reporting exceptions from autodie. This is useful
+for utility classes like L<Path::Tiny> that wish to report the location
+of where they were called on failure.
+
+If your class has a better way of doing roles, then you should not
+load this class and instead simply say that your class I<DOES>
+C<autodie::skip> instead.
+
+=head1 AUTHOR
+
+Copyright 2013, Paul Fenwick <pjf@cpan.org>
+
+=head1 LICENSE
+
+This module is free software. You may distribute it under the same
+terms as Perl itself.
+
+=head1 SEE ALSO
+
+L<autodie>, L<autodie::exception>
+
+=cut