This file is indexed.

/usr/share/perl5/Mason/Manual/Subclasses.pod is in libmason-perl 2.24-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
__END__

=pod

=head1 NAME

Mason::Manual::Subclasses - Creating custom subclasses of Mason's classes

=head1 DESCRIPTION

You can subclass the following Mason classes for your application:

    Mason::CodeCache
    Mason::Compilation
    Mason::Component
    Mason::Component::ClassMeta
    Mason::Component::Import
    Mason::Component::Moose
    Mason::Interp
    Mason::Request
    Mason::Result

and arrange things so that Mason always uses your subclass instead of its
default class.

Note: if you want to create a general purpose modification to Mason to use in
multiple applications, you should probably create a
L<plugin|Mason::Manual::Plugins> instead of a subclass.

=head1 CREATING A SUBCLASS

A subclass should look something like this:

    package My::Mason::Interp;
    use Moose;
    extends 'Mason::Interp';

    # put your modifications here

    1;

=head1 LETTING MASON KNOW ABOUT YOUR SUBCLASSES

There are two ways to let Mason know about your subclasses: by naming
convention, and by parameters to C<< Mason->new >>.

=head2 By naming convention

First, create a subclass of Mason itself:

    package My::Mason;
    use Moose;
    extends 'Mason';

    1;

and use that in place of C<< Mason >> in construction:

    my $interp = My::Mason->new();

Now, you can place any subclasses under 'My::Mason' and they'll automatically
be picked up. e.g.

    My::Mason::Compilation
    My::Mason::Interp
    My::Mason::Request

=head1 By constructor parameter

You can specify your subclasses via "base_*" parameters to C<< Mason->new() >>.
e.g.

    my $interp = Mason->new(
         base_compilation_class => 'My::Mason::Compilation',
         base_interp_class => 'My::Mason::Interp'
         base_request_class => 'Some::Other::Mason::Request'
    );

See L<Mason::Interp/CUSTOM MASON CLASSES> for a complete list.

=head1 SEE ALSO

L<Mason|Mason>

=head1 AUTHOR

Jonathan Swartz <swartz@pobox.com>

=head1 COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Jonathan Swartz.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.

=cut