Re: MooseX::Templated - pre-CPAN

[email protected] (Barry Walsh)
Newsgroups perl.moose
Message-ID <[email protected]>
This looks very good... looking forward to seeing it on CPAN.

A quick question...  is it easy to make it use different template file 
extension (.tt, .tt2, tt3, .html) and use a different INCLUDE_PATH.    
These options make it very easy to then sit on top of current production 
systems.

BTW.. as previously mentioned.. I think u should use a different default 
extension to "*.t"... perhaps .tt or .tt2?

/I3az/


Ian Sillitoe wrote:
> This is a follow up on a previous thread ("Moose::Role::TTSelf"). With
> peregrin's help (and considerable patience - many thanks) - I think
> MooseX::Templated is pretty much at the point of pushing to CPAN. I'm
> forwarding this to this list in case anyone has any more
> comments/suggestions before I tip it over the edge (synopsis appended below)
>
> http://code2.0beta.co.uk/moose/svn/MooseX-Templated/
>
> Cheers,
>
> Ian
>
>
> =head1 NAME
>
> MooseX::Templated::Role - Framework to render Moose objects with templates
>
> =head1 SYNOPSIS
>
> Farm/Cow.pm
>
>     package Farm::Cow;
>     use Moose;
>     with 'MooseX::Templated::Role';
>
>     has 'spots'   => ( is => 'rw' );
>     has 'hobbies' => ( is => 'rw', default => sub { ['mooing', 'chewing'] } );
>
>     sub moo { "Moooooooo!" }
>
> Farm/Cow.t
>
>     This cow has [% self.spots %] spots. It mostly spends its time
>     [% self.hobbies.join(" and ") %]. However, when it is very happy
>     it exclaims, "[% self.moo %]!".
>
> Elsewhere on the Farm...
>
>     my $cow = Farm::Cow->new( spots => '8' );
>
>     $cow->render();
>
>     # This cow has 8 spots. It mostly spends its time
>     # mooing and chewing. However, when it is very happy
>     # it exclaims, "Moooooooo!".
>
> Alternatively, back in the cowshed
>
>     package Farm::Cow;
>
>     <snip>
>
>     sub _templated_xml {
>         return <<"_XML_TT";
>
>     <cow sound="[% self.moo | html %]" spots="[% self.spots %]">
>
>     [%- FOREACH hobby = self.hobbies %]
>         <hobby name="[% hobby | html %]"/>
>     [%- END %]
>
>     </cow>
>     _XML_TT
>     }
>
> Back out on the farm
>
>     $cow->render( 'xml' );
>
>     # <cow sound="Moooooooo" spots="8">
>     #    <hobby name="mooing"/>
>     #    <hobby name="chewing"/>
>     # </cow>
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.