[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