options to ignore specific callers, more TT tests
[scpubgit/HTML-String.git] / lib / HTML / String / TT / Directive.pm
index b77d501..5e6baad 100644 (file)
@@ -7,8 +7,22 @@ use base qw(Template::Directive);
 
 sub template {
     return byval {
-        s/sub {/sub { use HTML::String::Overload;/;
+        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 } };/;
     } Template::Directive::pad(shift->SUPER::template(@_), 2);
 }
 
+sub textblock {
+    my ($self, $text) = @_;
+    return $Template::Directive::OUTPUT.' '.$self->text($text).';';
+}
+
+sub text {
+    my ($class, $text) = @_;
+    for ($text) {
+        s/(["\$\@\\])/\\$1/g;
+        s/\n/"."\\n"."/g;
+    }
+    return '"' . $text . '"';
+}
+
 1;