summaryrefslogtreecommitdiff
path: root/lib/Tree/Transform/XSLTish/Utils.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Tree/Transform/XSLTish/Utils.pm')
-rw-r--r--lib/Tree/Transform/XSLTish/Utils.pm30
1 files changed, 22 insertions, 8 deletions
diff --git a/lib/Tree/Transform/XSLTish/Utils.pm b/lib/Tree/Transform/XSLTish/Utils.pm
index bed1167..c760585 100644
--- a/lib/Tree/Transform/XSLTish/Utils.pm
+++ b/lib/Tree/Transform/XSLTish/Utils.pm
@@ -3,26 +3,29 @@ use strict;
use warnings;
use Class::MOP;
+our $VERSION='0.2';
+
my $RULES_NAME='%_tree_transform_rules';
sub _rules_store {
my $pack=Class::MOP::Class->initialize($_[0]);
- if (! $pack->has_package_symbol($RULES_NAME) ) {
+ if (! $pack->has_package_symbol($RULES_NAME) ) {
$pack->add_package_symbol($RULES_NAME,{});
}
return $pack->get_package_symbol($RULES_NAME);
}
-my $ENGINE_FACTORY_NAME='$_tree_transform_engine_factory';
+our $ENGINE_FACTORY_NAME='_tree_transform_engine_factory';
+my $ENGINE_FACTORY_NAME_WITH_SIGIL='&'.$ENGINE_FACTORY_NAME;
-sub _engine_factory {
- my $pack=Class::MOP::Class->initialize($_[0]);
+sub _set_engine_factory {
+ my ($pack_name,$factory)=@_;
+ my $pack=Class::MOP::Class->initialize($pack_name);
- if (! $pack->has_package_symbol($ENGINE_FACTORY_NAME) ) {
- $pack->add_package_symbol($ENGINE_FACTORY_NAME,undef);
- }
- return $pack->get_package_symbol($ENGINE_FACTORY_NAME);
+ $pack->add_package_symbol($ENGINE_FACTORY_NAME_WITH_SIGIL,$factory);
+
+ return;
}
@@ -31,3 +34,14 @@ sub _get_inheritance {
}
1;
+__END__
+
+=head1 NAME
+
+Tree::Transform::XSLTish::Utils - utility functions
+
+=head1 AUTHOR
+
+Gianni Ceccarelli <dakkar@thenautilus.net>
+
+=cut