5e6baad0937887de31cef4ed526d0aedba3ba03d
[scpubgit/HTML-String.git] / lib / HTML / String / TT / Directive.pm
1 package HTML::String::TT::Directive;
2
3 use strictures 1;
4 use HTML::String::Overload ();
5 use Data::Munge;
6 use base qw(Template::Directive);
7
8 sub template {
9     return byval {
10         s/sub {/sub { package HTML::String::TT::_TMPL; use HTML::String::Overload { ignore => { q{Template::Provider} => 1, q{Template::Directive} => 1, q{Template::Document} => 1 } };/;
11     } Template::Directive::pad(shift->SUPER::template(@_), 2);
12 }
13
14 sub textblock {
15     my ($self, $text) = @_;
16     return $Template::Directive::OUTPUT.' '.$self->text($text).';';
17 }
18
19 sub text {
20     my ($class, $text) = @_;
21     for ($text) {
22         s/(["\$\@\\])/\\$1/g;
23         s/\n/"."\\n"."/g;
24     }
25     return '"' . $text . '"';
26 }
27
28 1;