This file is indexed.

/usr/share/perl5/Magpie/Transformer/TT2.pm is in libmagpie-perl 1.140280-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
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package Magpie::Transformer::TT2;
{
  $Magpie::Transformer::TT2::VERSION = '1.140280';
}
# ABSTRACT: Template Toolkit Transformer Component

use Moose;
extends 'Magpie::Transformer';
use Magpie::Constants;
use Template;
use MooseX::Types::Path::Class;
use Try::Tiny;

__PACKAGE__->register_events( qw( get_tt_conf get_tt_vars get_template get_transformer transform));

sub load_queue { return qw( get_tt_conf get_tt_vars get_template get_transformer transform ) }

has tt_conf => (
    is          => 'rw',
    isa         => 'HashRef',
    required    => 1,
    default     => sub { {} },
);

has tt_vars => (
    is          => 'rw',
    isa         => 'HashRef',
    required    => 1,
    default     => sub { {} },
);

has template_file => (
    is          => 'rw',
    isa         => 'Path::Class::File',
    init_arg    => 'template',
    coerce      => 1,
);

has template_path => (
    is          => 'ro',
    isa         => 'Path::Class::Dir',
    coerce      => 1,
    required    => 1,
);

has transformer => (
    is          => 'rw',
    isa         => 'Template',
);

sub get_tt_conf  { OK; }
sub get_tt_vars  { OK; }
sub get_template { OK; }

sub get_transformer {
    my $self = shift;
    my $conf = $self->tt_conf;
    my $template_path = $self->template_path->stringify;
    my $tt_obj = Template->new(
        { %$conf, INCLUDE_PATH => $template_path }
    );
    $self->transformer($tt_obj);
    return OK;
}

use Encode;
sub transform {
    my ($self, $ctxt) = @_;
    my $tt = $self->transformer;
    my $template = $self->template_file->stringify;
    my %tt_vars = %{ $self->tt_vars };
    my $output;

    $tt_vars{magpie} = $self;

    try {
        $tt->process( $template, \%tt_vars, \$output ) || die $tt->error
    }
    catch {
        my $error = "Error processing template: $_";
        warn "$error\n";
        $self->set_error({ status_code => 500, reason => $error });

    };

    return OK if $self->has_error;

    $self->resource->data( encode('UTF-8', $output) );

    return OK;
}

# SEEALSO: Magpie

1;
__END__
=pod

=head1 NAME

Magpie::Transformer::TT2 - Template Toolkit Transformer Component

=head1 VERSION

version 1.140280

=head1 AUTHORS

=over 4

=item *

Kip Hampton <kip.hampton@tamarou.com>

=item *

Chris Prather <chris.prather@tamarou.com>

=back

=head1 COPYRIGHT AND LICENSE

This software is copyright (c) 2011 by Tamarou, LLC.

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