From 6e242023eb97405f9a0a283c07e9d6a64c6a3b21 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Tue, 14 Jun 2011 12:29:51 -0500 Subject: rename to Sub::Exporter::Declare --- .gitignore | 2 +- Changes | 2 +- dist.ini | 4 ++-- lib/Sub/Exporter/Declare.pm | 38 ++++++++++++++++++++++++++++++++++++++ lib/Sub/Exporter/Sugar.pm | 38 -------------------------------------- t/basic.t | 2 +- 6 files changed, 43 insertions(+), 43 deletions(-) create mode 100644 lib/Sub/Exporter/Declare.pm delete mode 100644 lib/Sub/Exporter/Sugar.pm diff --git a/.gitignore b/.gitignore index 12e90b0..869376d 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,4 @@ nytprof.out MANIFEST.bak *.sw[po] .build -Sub-Exporter-Sugar-* +Sub-Exporter-Declare-* diff --git a/Changes b/Changes index 8370da4..7732f49 100644 --- a/Changes +++ b/Changes @@ -1,4 +1,4 @@ -Revision history for Sub-Exporter-Sugar +Revision history for Sub-Exporter-Declare {{$NEXT}} - Initial release diff --git a/dist.ini b/dist.ini index 5daf606..b3cb90b 100644 --- a/dist.ini +++ b/dist.ini @@ -1,9 +1,9 @@ -name = Sub-Exporter-Sugar +name = Sub-Exporter-Declare author = Jesse Luehrs license = Perl_5 copyright_holder = Jesse Luehrs [@DOY] -dist = Sub-Exporter-Sugar +dist = Sub-Exporter-Declare [Prereqs] diff --git a/lib/Sub/Exporter/Declare.pm b/lib/Sub/Exporter/Declare.pm new file mode 100644 index 0000000..9f20149 --- /dev/null +++ b/lib/Sub/Exporter/Declare.pm @@ -0,0 +1,38 @@ +package Sub::Exporter::Declare; +use strict; +use warnings; + +my %EXPORT_DATA; + +use Sub::Exporter 'build_exporter', -setup => { + exports => [qw(export export_default), import => \&import_generator], + groups => { + default => [qw(export export_default import)], + }, +}; + +sub export { + my @exports = @_; + my $caller = caller; + $EXPORT_DATA{$caller} ||= {}; + push @{ $EXPORT_DATA{$caller}->{exports} ||= [] }, @exports; +} + +sub export_default { + my @exports = @_; + my $caller = caller; + $EXPORT_DATA{$caller} ||= {}; + push @{ $EXPORT_DATA{$caller}->{exports} ||= [] }, @exports; + push @{ $EXPORT_DATA{$caller}->{groups}{default} ||= [] }, @exports; +} + +sub import_generator { + my ($class, $name, $arg, $col) = @_; + return sub { + my ($package) = @_; + my $import = build_exporter($EXPORT_DATA{$package}); + goto $import; + }; +} + +1; diff --git a/lib/Sub/Exporter/Sugar.pm b/lib/Sub/Exporter/Sugar.pm deleted file mode 100644 index 2370279..0000000 --- a/lib/Sub/Exporter/Sugar.pm +++ /dev/null @@ -1,38 +0,0 @@ -package Sub::Exporter::Sugar; -use strict; -use warnings; - -my %EXPORT_DATA; - -use Sub::Exporter 'build_exporter', -setup => { - exports => [qw(export export_default), import => \&import_generator], - groups => { - default => [qw(export export_default import)], - }, -}; - -sub export { - my @exports = @_; - my $caller = caller; - $EXPORT_DATA{$caller} ||= {}; - push @{ $EXPORT_DATA{$caller}->{exports} ||= [] }, @exports; -} - -sub export_default { - my @exports = @_; - my $caller = caller; - $EXPORT_DATA{$caller} ||= {}; - push @{ $EXPORT_DATA{$caller}->{exports} ||= [] }, @exports; - push @{ $EXPORT_DATA{$caller}->{groups}{default} ||= [] }, @exports; -} - -sub import_generator { - my ($class, $name, $arg, $col) = @_; - return sub { - my ($package) = @_; - my $import = build_exporter($EXPORT_DATA{$package}); - goto $import; - }; -} - -1; diff --git a/t/basic.t b/t/basic.t index 09ba03f..4ec6787 100644 --- a/t/basic.t +++ b/t/basic.t @@ -5,7 +5,7 @@ use Test::More; BEGIN { package My::Exporter; - use Sub::Exporter::Sugar; + use Sub::Exporter::Declare; export 'foo'; export_default 'bar'; -- cgit v1.2.3-54-g00ecf