RSS Feed

Show last changes
Date File Revision Author Revision Log
2008/11/19 16:12:04 6620 6620 isillitoe Implemented 'render' as a subroutine rather than 'handles' so it can be overridden
in the consuming view

2008/11/19 14:50:17 6619 6619 autarch Tagging version '0.70_01' using shipit. Copied from /Class-MOP/trunk/:6618
2008/11/19 14:49:43 6618 6618 autarch Doh, I'm retarded.

I already release 0.70, and then went and released 0.69_01.

Re-releasing with proper changes as 0.70_01 to get some testing
2008/11/18 22:41:33 6617 6617 isillitoe Added/corrected tests

Added/corrected POD

MX::T::View
- build_source is now set_source (and is only setter for source)
- direct template source strings must be given as SCALAR REF
- interface now looks like:

render
set_source
get_source
engine
engine_class
engine_config
build_src_path
module
template_src_base
template_src_ext


2008/11/18 16:04:49 6616 6616 autarch Tagging version '0.69_01' using shipit. Copied from /Class-MOP/trunk/:6615
2008/11/18 15:58:04 6615 6615 autarch update Changes and make version 0.69_01
2008/11/17 22:44:32 6614 6614 sartak r75673@onn: sartak | 2008-11-17 17:43:52 -0500
Remove the make_immutable keyword, it's been deprecated and can break metaclasses
2008/11/17 21:42:54 6613 6613 isillitoe
Changed the default method stub from _templated_source to _templated

Added/changed documentation and altered tests to reflect those changes.


2008/11/17 18:22:19 6612 6612 isillitoe SUMMARY

- changes to attribute names/defaults for better consistency across the public interface

templated_*

- render now provides new functionality, e.g.

Farm::Cow->new->render;
# tries:
# Farm::Cow::_templated_source()
# /path/to/Farm/Cow.tt

Farm::Cow->new->render( source => 'xml' );
# tries:
# Farm::Cow::_templated_source_xml()
# /path/to/Farm/Cow.xml.tt

Farm::Cow->new->render( source => 'Cow.tt' );
Farm::Cow->new->render( source => 'Cow goes [% self.moo %]' );

* seems ok, and written docs to explain steps used to figure out DWYM nature,
but maybe too flexible to try and 'coerce' all of these different usages
from string?

DETAILS

Index: lib/MooseX/Templated/Role.pm
===================================================================
- Changed public methods for consistency in 'templated'/'templated_view' namespace

template => templated_view
template_engine => <removed> (public don't need access to underlying engine)
template_src => <removed>
template_config => templated_view_config
=> templated_view_class (shorthand to specify own template view)

- Added a whole bunch (too much?) of docs to cover usage of render()

Index: lib/MooseX/Templated/View.pm
===================================================================
- changed attributes

- allows template source to be specified from internal methods of
consuming module (Farm::Cow::_templated_source())

- allows shortcuts for template source 'types'

Farm::Cow->new->render( source => 'xml' );
# tries:
# Farm::Cow::_templated_source_xml()
# /path/to/Farm/Cow.xml.tt

- build_source( base => '/path', ext => '.tt' )
- returns the source as string

- render( source => '', stash => '' )
- allows source to be set in the render
- placeholder for stash - TODO: implement and add tests
- requires 'process' in underlying engine

- updated docs


Index: t/lib/Farm/Cow.pm
===================================================================
- has 'hobbies'
- sub _templated_source_html

Index: t/01.api.t
===================================================================
- now just tests vanilla (synopsis) usage

Index: t/02.render.t
===================================================================
- tests the various ways of calling $self->render()

Index: t/lib/Farm/Cow.xml.tt
===================================================================
- added for t/02.render.t

Index: lib/MooseX/Templated/View/TT.pm
===================================================================
- brought inline with changes to lib/MooseX/Templated/View.pm

Index: Makefile.PL
===================================================================
- Corrected from MX::Templated.pm

Index: Build.PL
===================================================================
- Corrected from MX::Templated.pm
2008/11/17 11:52:27 6611 6611 isillitoe File was deleted - funcionality now split between MX::T::Role (front-end) and MX::T::View (back-end)
2008/11/17 11:51:11 6610 6610 isillitoe Default TT suffix was changed to '.tt'
2008/11/17 03:27:51 6609 6609 jnapiorkowski more debugging, I hope this wont need another moose patch...
2008/11/16 22:46:18 6608 6608 jnapiorkowski closer to the sketch actually working
2008/11/16 17:56:58 6607 6607 t0m Add a comment as per the traits case
2008/11/16 17:17:45 6606 6606 t0m Fix another reentrancy issue in Moose::Exporter by additional localising of + test case
2008/11/16 17:14:56 6605 6605 t0m Fix 1 char POD bug
2008/11/15 15:00:44 6604 6604 rafl Don't declare return values for PPCODE.

This silences some more compiler warnings.
2008/11/15 15:00:35 6603 6603 rafl Silence some compiler warnings.
2008/11/15 09:03:22 6602 6602 rafl Don't try to get a CV from globs that are references, but not SvROK.

This might happen on newer perls where SVt_RV has been merged into SVt_IV.
Fixes RT#39149.
2008/11/15 05:48:06 6601 6601 perigrin Refactored project to allow different rendering engines after discussion with Chris Prather

Project now looks like:

MooseX::Templated::Role - public interface

template => {
does => MooseX::Templated::View,
handles => {
render => render,
}
}

MooseX::Templated::View - backend interface for template engines

requires 'render'

MooseX::Templated::View::TT - TT engine (default)

with 'MooseX::Templated::View'

NB: the coercion of MX::T::View::template_src isn't working (t/01.api.t fails) - haven't got time to fix

t/lib/Farm/Cow.pm
- now consumes 'MooseX::Templated::Role'

t/lib/Farm/Cow.t
- moved to t/lib/Farm/Cow.tt

t/01.api.t
- added some tests (some of which currently fail)

--This line, and those below, will be ignored--

M t/lib/Farm/Cow.pm
D t/lib/Farm/Cow.t
A t/lib/Farm/Cow.tt
M t/01.api.t
A lib/MooseX/Templated
A lib/MooseX/Templated/View.pm
A lib/MooseX/Templated/View
A lib/MooseX/Templated/View/TT.pm
A lib/MooseX/Templated/Role.pm
D lib/MooseX/Templated.pm