[Jifty-commit] jifty branch, master, updated. 2b2117813f06b5594bf006174890c7672eba6c4b

Jifty commits jifty-commit at lists.jifty.org
Fri Jun 18 20:44:01 EDT 2010


The branch, master has been updated
       via  2b2117813f06b5594bf006174890c7672eba6c4b (commit)
      from  d9f645243e4ce1beae9dca50bb674c3c80d04cb1 (commit)

Summary of changes:
 lib/Jifty/View/Declare/Helpers.pm |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

- Log -----------------------------------------------------------------
commit 2b2117813f06b5594bf006174890c7672eba6c4b
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Wed Apr 7 04:06:08 2010 +0400

    make it possible to define page class in page's meta, e.g:
    
    template x => page { class => 'View::Special' } content {
        ...
    };

diff --git a/lib/Jifty/View/Declare/Helpers.pm b/lib/Jifty/View/Declare/Helpers.pm
index 51ee8bf..6f73be3 100644
--- a/lib/Jifty/View/Declare/Helpers.pm
+++ b/lib/Jifty/View/Declare/Helpers.pm
@@ -132,7 +132,7 @@ This badly wants to be redone.
 sub wrapper {
     my $content_code = shift;
     my $meta = shift;
-    my $page = _page_class()->new({ content_code => $content_code, _meta => $meta });
+    my $page = _page_class( $meta )->new({ content_code => $content_code, _meta => $meta });
 
     my ($spa) = Jifty->find_plugin('Jifty::Plugin::SinglePage');
 
@@ -159,8 +159,11 @@ sub wrapper {
 
 sub _page_class {
     my $hard_require = 0;
-    my $app_class = get_current_attr('PageClass');;
-    delete $Template::Declare::Tags::ATTRIBUTES{ 'PageClass' };
+    my $app_class = $_[0]->{'class'};
+    unless ( $app_class ) {
+        $app_class = get_current_attr('PageClass');;
+        delete $Template::Declare::Tags::ATTRIBUTES{ 'PageClass' };
+    }
     $hard_require = 1 if $app_class;
 
     my $page_class = Jifty->app_class( $app_class || 'View::Page' );

-----------------------------------------------------------------------


More information about the Jifty-commit mailing list