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

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Mon May 7 21:23:49 EDT 2007


Author: jesse
Date: Mon May  7 21:23:49 2007
New Revision: 3213

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

Log:
 r56759 at pinglin:  jesse | 2007-05-07 21:23:39 -0400
 * Reabstracting a bit to support setting variables on aliases template libs


Modified: Template-Declare/lib/Template/Declare.pm
==============================================================================
--- Template-Declare/lib/Template/Declare.pm	(original)
+++ Template-Declare/lib/Template/Declare.pm	Mon May  7 21:23:49 2007
@@ -11,7 +11,7 @@
 use base 'Class::Data::Inheritable';
 __PACKAGE__->mk_classdata('roots');
 __PACKAGE__->mk_classdata('aliases');
-__PACKAGE__->mk_classdata('alias_prefixes');
+__PACKAGE__->mk_classdata('alias_metadata');
 __PACKAGE__->mk_classdata('templates');
 __PACKAGE__->mk_classdata('private_templates');
 __PACKAGE__->mk_classdata('buffer_stack');
@@ -20,7 +20,7 @@
 
 __PACKAGE__->roots([]);
 __PACKAGE__->aliases([]);
-__PACKAGE__->alias_prefixes({});
+__PACKAGE__->alias_metadata({});
 __PACKAGE__->templates({});
 __PACKAGE__->private_templates({});
 __PACKAGE__->buffer_stack([]);
@@ -217,8 +217,9 @@
     my $mixin = shift;
     my $prepend_path     = shift;
 
-    push @{$alias_into->aliases()}, $mixin ;
-    $alias_into->alias_prefixes()->{$mixin} =  $prepend_path;
+    my $alias_key = $mixin . " ".$prepend_path;
+    push @{$alias_into->aliases()}, $alias_key;
+    $alias_into->alias_metadata()->{$alias_key} =  { class=> $mixin, path => $prepend_path };
 
 }
 
@@ -346,8 +347,11 @@
             return $coderef;
         }
 
-        foreach my $alias_class ( @{ $package->aliases } ) {
-            my $alias_prefix = $package->alias_prefixes()->{$alias_class};
+        foreach my $alias_key ( @{ $package->aliases } ) {
+            my $alias_info = $package->alias_metadata()->{$alias_key};
+            my $alias_prefix = $alias_info->{path};
+            my $alias_class = $alias_info->{class};
+
             $template_name = "/$template_name";
             if ( $template_name =~ m{$alias_prefix/(.*)$} ) {
                 my $dispatch_to_template = $1;


More information about the Jifty-commit mailing list