summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2009-06-23 08:18:21 -0500
committerJesse Luehrs <doy@tozt.net>2009-06-23 10:33:09 -0500
commit294a24eca60a16479b0678faeb3661fbf8a5ec88 (patch)
tree4f48251775dd812548d5e30f66f153473bdc7698
downloadmoosex-extension-294a24eca60a16479b0678faeb3661fbf8a5ec88.tar.gz
moosex-extension-294a24eca60a16479b0678faeb3661fbf8a5ec88.zip
skeleton of the module
-rw-r--r--lib/MooseX/Extension.pm32
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;