[Jifty-commit] r6087 - jifty/trunk/lib/Jifty/View/Declare

Jifty commits jifty-commit at lists.jifty.org
Wed Dec 10 09:33:09 EST 2008


Author: ruz
Date: Wed Dec 10 09:33:08 2008
New Revision: 6087

Modified:
   jifty/trunk/lib/Jifty/View/Declare/Helpers.pm

Log:
* factor out page_class out of wrapper
* if page class is defined by attribute then require it loud
  so developer can spot problem

Modified: jifty/trunk/lib/Jifty/View/Declare/Helpers.pm
==============================================================================
--- jifty/trunk/lib/Jifty/View/Declare/Helpers.pm	(original)
+++ jifty/trunk/lib/Jifty/View/Declare/Helpers.pm	Wed Dec 10 09:33:08 2008
@@ -127,15 +127,6 @@
 =cut
 
 sub wrapper {
-    my $app_class = get_current_attr('PageClass') || 'View::Page';
-    delete $Template::Declare::Tags::ATTRIBUTES{ 'PageClass' };
-
-    my $page_class = Jifty->app_class( $app_class );
-    $page_class = 'Jifty::View::Declare::Page'
-        unless Jifty::Util->_require( module => $page_class, quiet => 0 );
-    # XXX: fallback, this is ugly
-    Jifty::Util->require( $page_class );
-
     my $content_code = shift;
     my $meta = shift;
     my $page = $page_class->new({ content_code => $content_code, _meta => $meta });
@@ -164,6 +155,20 @@
     }
 }
 
+sub page_class {
+    my $hard_require = 0;
+    my $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' );
+    $page_class = 'Jifty::View::Declare::Page'
+        unless Jifty::Util->_require( module => $page_class, quiet => !$hard_require );
+    # XXX: fallback, this is ugly
+    Jifty::Util->require( $page_class );
+    return $page_class;
+}
+
 =head2 Forms and actions
 
 =head3 form CODE


More information about the Jifty-commit mailing list