1# -*- Mode: cperl; coding: utf-8; cperl-indent-level: 4 -*-
2# vim: ts=4 sts=4 sw=4:
3package CPAN::Exception::yaml_process_error;
4use strict;
5use overload '""' => "as_string";
6
7use vars qw(
8            $VERSION
9);
10$VERSION = "5.5";
11
12
13sub new {
14    my($class,$module,$file,$during,$error) = @_;
15    # my $at = Carp::longmess(""); # XXX find something more beautiful
16    bless { module => $module,
17            file => $file,
18            during => $during,
19            error => $error,
20            # at => $at,
21          }, $class;
22}
23
24sub as_string {
25    my($self) = shift;
26    if ($self->{during}) {
27        if ($self->{file}) {
28            if ($self->{module}) {
29                if ($self->{error}) {
30                    return "Alert: While trying to '$self->{during}' YAML file\n".
31                        " '$self->{file}'\n".
32                            "with '$self->{module}' the following error was encountered:\n".
33                                "  $self->{error}\n";
34                } else {
35                    return "Alert: While trying to '$self->{during}' YAML file\n".
36                        " '$self->{file}'\n".
37                            "with '$self->{module}' some unknown error was encountered\n";
38                }
39            } else {
40                return "Alert: While trying to '$self->{during}' YAML file\n".
41                    " '$self->{file}'\n".
42                        "some unknown error was encountered\n";
43            }
44        } else {
45            return "Alert: While trying to '$self->{during}' some YAML file\n".
46                    "some unknown error was encountered\n";
47        }
48    } else {
49        return "Alert: unknown error encountered\n";
50    }
51}
52
531;
54