From 23239848b24341056c2ed796ba9bd402ebd82d6e Mon Sep 17 00:00:00 2001 From: dakkar Date: Sat, 18 Apr 2009 15:47:40 +0200 Subject: simplified use-list --- lib/Tree/Template/Declare.pm | 19 ++++++++++--------- t/01-basic.t | 2 +- t/02-xslt.t | 4 ++-- t/03-html.t | 2 +- t/04-xml.t | 2 +- t/05-mixed.t | 4 ++-- t/06-code.t | 2 +- 7 files changed, 18 insertions(+), 17 deletions(-) diff --git a/lib/Tree/Template/Declare.pm b/lib/Tree/Template/Declare.pm index a2be8e2..185d9eb 100644 --- a/lib/Tree/Template/Declare.pm +++ b/lib/Tree/Template/Declare.pm @@ -8,26 +8,27 @@ use Data::Dumper; our $VERSION='0.1'; -Sub::Exporter::setup_exporter({ +{ +my $exporter=Sub::Exporter::build_exporter({ groups => { default => \&_build_group, }, - collectors => [ INIT => \&_init_args, 'options' ], }); -sub _init_args { - my (undef,$args)=@_; +sub import { + my ($pack,@rest)=@_; - @{$args->{import_args}}=( [ -default => undef] ) - unless @{$args->{import_args}}; - - return 1; + if (@rest) { + @_=($pack,-default => {@rest}); + } + goto $exporter; +} } sub _build_group { my ($class,$name,$args,$coll)=@_; - my $builder=$args->{builder} || $coll->{options}{builder}; + my $builder=$args->{builder}; if (!ref($builder)) { my $builder_pkg=$builder; diff --git a/t/01-basic.t b/t/01-basic.t index e5220e9..cb633bd 100644 --- a/t/01-basic.t +++ b/t/01-basic.t @@ -2,7 +2,7 @@ use Test::Most tests => 2,'die'; use strict; use warnings; -use Tree::Template::Declare options => {builder => '+DAG_Node'}; +use Tree::Template::Declare builder => '+DAG_Node'; my $tree=tree { node { diff --git a/t/02-xslt.t b/t/02-xslt.t index 88fb73e..58206e8 100644 --- a/t/02-xslt.t +++ b/t/02-xslt.t @@ -10,7 +10,7 @@ plan tests => 1; package Copy;{ use Tree::Transform::XSLTish; use Tree::Template::Declare::DAG_Node; -use Tree::Template::Declare options => {builder => Tree::Template::Declare::DAG_Node->new('Tree::DAG_Node::XPath') }; +use Tree::Template::Declare builder => Tree::Template::Declare::DAG_Node->new('Tree::DAG_Node::XPath'); use strict; use warnings; @@ -33,7 +33,7 @@ tree_rule match => '*', priority => 0, action => sub { package main; use strict; use warnings; -use Tree::Template::Declare options => {builder => Tree::Template::Declare::DAG_Node->new('Tree::DAG_Node::XPath') }; +use Tree::Template::Declare builder => Tree::Template::Declare::DAG_Node->new('Tree::DAG_Node::XPath'); use Data::Dumper; sub Tree::DAG_Node::XPath::Root::xpath_get_root_node { return $_[0] } diff --git a/t/03-html.t b/t/03-html.t index d805e56..08ad9c3 100644 --- a/t/03-html.t +++ b/t/03-html.t @@ -7,7 +7,7 @@ plan skip_all => 'HTML::Element needed for this test' if $@; plan tests => 1; use strict; use warnings; -use Tree::Template::Declare options => {builder => '+HTML_Element'}; +use Tree::Template::Declare builder => '+HTML_Element'; use Data::Dumper; my $tree=tree { diff --git a/t/04-xml.t b/t/04-xml.t index b7b0af8..84bfe06 100644 --- a/t/04-xml.t +++ b/t/04-xml.t @@ -7,7 +7,7 @@ plan skip_all => 'XML::LibXML needed for this test' if $@; plan tests => 2; use strict; use warnings; -use Tree::Template::Declare options => {builder => '+LibXML'}; +use Tree::Template::Declare builder => '+LibXML'; use Data::Dumper; xmlns test => 'http://test/'; diff --git a/t/05-mixed.t b/t/05-mixed.t index b9f1900..1546c89 100644 --- a/t/05-mixed.t +++ b/t/05-mixed.t @@ -7,8 +7,8 @@ plan skip_all => 'XML::LibXML needed for this test' if $@; plan tests => 2; use strict; use warnings; -use Tree::Template::Declare options => {builder => '+LibXML'}, -default => {-prefix=> 'x'}; -use Tree::Template::Declare options => {builder => '+DAG_Node'}, -default => {-prefix=> 'd'}; +use Tree::Template::Declare -prefix=> 'x', builder => '+LibXML'; +use Tree::Template::Declare -prefix=> 'd', builder => '+DAG_Node'; use Data::Dumper; diff --git a/t/06-code.t b/t/06-code.t index 853b165..a24427d 100644 --- a/t/06-code.t +++ b/t/06-code.t @@ -2,7 +2,7 @@ use Test::Most tests => 2,'die'; use strict; use warnings; -use Tree::Template::Declare options => {builder => '+DAG_Node'}; +use Tree::Template::Declare builder => '+DAG_Node'; use Data::Dumper; sub make_item { -- cgit v1.2.3