[Jifty-commit] r3266 - in Template-Declare: lib/Template

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Sun May 20 15:21:47 EDT 2007


Author: jesse
Date: Sun May 20 15:21:47 2007
New Revision: 3266

Modified:
   Template-Declare/   (props changed)
   Template-Declare/lib/Template/Declare.pm

Log:
 r56984 at 232:  jesse | 2007-05-20 15:21:14 -0400
 * Refactoring to remove redundant code
 


Modified: Template-Declare/lib/Template/Declare.pm
==============================================================================
--- Template-Declare/lib/Template/Declare.pm	(original)
+++ Template-Declare/lib/Template/Declare.pm	Sun May 20 15:21:47 2007
@@ -300,15 +300,7 @@
 =cut
 
 sub has_template {
-
-    # When using Template::Declare->has_template, find in all
-    # registered namespaces.
-    #    if ( $_[0] eq 'Template::Declare' ) {
-    &resolve_template(@_) || _has_template(@_);
-
-    #    } else {
-    #        _has_template(@_);
-    #    }
+    resolve_template(@_) || _has_template(@_);
 }
 
 sub _has_template {
@@ -318,17 +310,9 @@
     my $template_name = shift;
     my $show_private  = 0 || shift;
 
-    if ( my $coderef
-        = $pkg->_find_template_sub( _template_name_to_sub($template_name) ) )
-    {
+    if ( my $coderef = $pkg->_find_template_sub( _template_name_to_sub($template_name) ) ) {
         return $coderef;
-    } elsif (
-        $show_private
-        and $coderef = $pkg->_find_template_sub(
-            _template_name_to_private_sub($template_name)
-        )
-        )
-    {
+    } elsif ( $show_private and $coderef = $pkg->_find_template_sub( _template_name_to_private_sub($template_name))) {
         return $coderef;
     }
 
@@ -354,36 +338,29 @@
     my $template_name = shift;
     my $show_private  = shift || 0;
 
-    my @search_roots;
+    my @search_packages;
     if ( $self eq 'Template::Declare' ) {
-        @search_roots = reverse @{ Template::Declare->roots };
-
+        @search_packages = reverse @{ Template::Declare->roots };
     } else {
-        @search_roots = ($self);
+        @search_packages = ($self);
     }
 
-    foreach my $package (@search_roots) {
-        unless ( $package and $package->isa('Template::Declare') ) {
-            next;
-        }
+    foreach my $package (@search_packages) {
+        next unless ( $package and $package->isa('Template::Declare') ); 
 
-        if ( my $coderef
-            = $package->_has_template( $template_name, $show_private ) )
-        {
+        if ( my $coderef = $package->_has_template( $template_name, $show_private ) ) {
             return $coderef;
         }
 
-
-        my $sub = $self->_resolve_template_aliased_from_package($template_name, $package, $show_private);  
+        my $sub = $package->_has_aliased_template($template_name, $show_private);  
         return $sub  if $sub;      
 
     }
 }
 
-sub _resolve_template_aliased_from_package {
-    my $self = shift;
-    my $template_name = shift;
+sub _has_aliased_template {
     my $package =  shift;
+    my $template_name = shift;
     my $show_private = shift;
 
         foreach my $alias_key ( @{ Template::Declare->aliases->{$package} } ) {
@@ -396,16 +373,7 @@
 
             if ( $template_name =~ m{$alias_prefix/(.*)$} ) {
                 my $dispatch_to_template = $1;
-                if (my $coderef = $alias_class->_has_template( $dispatch_to_template, $show_private)) {
-
-                    # We're going to force $self to the aliased class
-                    return sub {
-                        no strict 'refs';
-
-                        local $TEMPLATE_VARS->{$alias_class} = $package_vars;
-                        &$coderef($alias_class);
-                    };
-                } elsif ( $coderef = $alias_class->resolve_template( $dispatch_to_template, $show_private)) {
+                if ( my $coderef = $alias_class->resolve_template( $dispatch_to_template, $show_private)) {
 
                     # We're going to force $self to the aliased class
                     return sub {


More information about the Jifty-commit mailing list