[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