From 294a24eca60a16479b0678faeb3661fbf8a5ec88 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Tue, 23 Jun 2009 08:18:21 -0500 Subject: skeleton of the module --- lib/MooseX/Extension.pm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 lib/MooseX/Extension.pm 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; -- cgit v1.2.3-54-g00ecf