diff options
author | Jesse Luehrs <doy@tozt.net> | 2011-06-14 12:29:51 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2011-06-14 12:29:51 -0500 |
commit | 6e242023eb97405f9a0a283c07e9d6a64c6a3b21 (patch) | |
tree | 55423eaf7e1cab3a03ca040512830d759de0c84f /lib/Sub/Exporter/Sugar.pm | |
parent | 3edca453f642917f53c6fbfa59683fd70204813d (diff) | |
download | sub-exporter-declare-6e242023eb97405f9a0a283c07e9d6a64c6a3b21.tar.gz sub-exporter-declare-6e242023eb97405f9a0a283c07e9d6a64c6a3b21.zip |
Diffstat (limited to 'lib/Sub/Exporter/Sugar.pm')
-rw-r--r-- | lib/Sub/Exporter/Sugar.pm | 38 |
1 files changed, 0 insertions, 38 deletions
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; |