diff options
author | Gianni Ceccarelli <dakkar@dechirico.(none)> | 2009-03-17 17:46:40 +0100 |
---|---|---|
committer | Gianni Ceccarelli <dakkar@dechirico.(none)> | 2009-03-17 17:46:40 +0100 |
commit | 3a65eeb9b614e7fa4b683db6a98ca0026b5a2404 (patch) | |
tree | 4fb78434fc3eab36cc4b9c181791b752e8f07000 /lib/Tree/Transform.pm | |
parent | some functions (diff) | |
download | Tree-Transform-XSLTish-3a65eeb9b614e7fa4b683db6a98ca0026b5a2404.tar.gz Tree-Transform-XSLTish-3a65eeb9b614e7fa4b683db6a98ca0026b5a2404.tar.bz2 Tree-Transform-XSLTish-3a65eeb9b614e7fa4b683db6a98ca0026b5a2404.zip |
passes the first test!
Diffstat (limited to 'lib/Tree/Transform.pm')
-rw-r--r-- | lib/Tree/Transform.pm | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/lib/Tree/Transform.pm b/lib/Tree/Transform.pm index 7b9af2c..d130c3b 100644 --- a/lib/Tree/Transform.pm +++ b/lib/Tree/Transform.pm @@ -1,7 +1,10 @@ package Tree::Transform; -use Moose; +use strict; +use warnings; use Sub::Exporter; use Params::Validate ':all'; +use Tree::Transform::Utils; +use Tree::Transform::Transformer; our $VERSION='0.1'; @@ -13,14 +16,6 @@ Sub::Exporter::setup_exporter({ } }); -sub _rules_store { - no strict 'refs'; - if (!defined *{$_[0].'::_tree_transform_rules'}{HASH}) { - *{$_[0].'::_tree_transform_rules'}={}; - } - return *{$_[0].'::_tree_transform_rules'}{HASH}; -} - sub tree_rule { my (%args)=validate(@_, { match => { type => SCALAR, optional => 1 }, @@ -31,7 +26,7 @@ sub tree_rule { # TODO at least one of 'name' and 'match' must be specified - my $store=_rules_store(scalar caller); + my $store=Tree::Transform::Utils::_rules_store(scalar caller); push @{$store->{by_match}},\%args; if ($args{name}) { @@ -41,10 +36,15 @@ sub tree_rule { return; } +sub _transformer_class { 'Tree::Transform::Transformer' }; + sub new_transformer { + my ($rules_package)=@_; + + return _transformer_class->new(rules_package=>$rules_package); } -__PACKAGE__->meta->make_immutable;no Moose; +1; __END__ =head1 NAME |