diff options
author | Jesse Luehrs <doy@tozt.net> | 2009-06-23 08:18:21 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2009-06-23 10:33:09 -0500 |
commit | 294a24eca60a16479b0678faeb3661fbf8a5ec88 (patch) | |
tree | 4f48251775dd812548d5e30f66f153473bdc7698 | |
download | moosex-extension-294a24eca60a16479b0678faeb3661fbf8a5ec88.tar.gz moosex-extension-294a24eca60a16479b0678faeb3661fbf8a5ec88.zip |
skeleton of the module
-rw-r--r-- | lib/MooseX/Extension.pm | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/MooseX/Extension.pm b/lib/MooseX/Extension.pm new file mode 100644 index 0000000..ccfc54c --- /dev/null +++ b/lib/MooseX/Extension.pm @@ -0,0 +1,32 @@ +package MooseX::Extension; +use Moose (); +use Moose::Exporter; +use Moose::Util::MetaRole; + +my ($import, $unimport); + +sub import { + my $caller = caller; + ($import, $unimport) = Moose::Exporter->build_import_methods; + goto $import; +} + +sub unimport { + goto $unimport; +} + + +sub init_meta { + shift; + my %options = @_; + Moose->init_meta(%options); + Moose::Util::MetaRole::apply_metaclass_roles( + for_class => $options{for_class}, + ); + Moose::Util::MetaRole::apply_base_class_roles( + for_class => $options{for_class}, + ); + return Class::MOP::class_of($options{for_class}); +} + +1; |