adding in some basic policies and some tests
[gitmo/Moose-Policy.git] / lib / Moose / Policy / SingleInheritence.pm
diff --git a/lib/Moose/Policy/SingleInheritence.pm b/lib/Moose/Policy/SingleInheritence.pm
new file mode 100644 (file)
index 0000000..27c4d37
--- /dev/null
@@ -0,0 +1,24 @@
+
+package Moose::Policy::SingleInheritence;
+
+use constant metaclass => 'Moose::Policy::SingleInheritence::MetaClass';
+
+package Moose::Policy::SingleInheritence::MetaClass;
+use Moose;
+
+extends 'Moose::Meta::Class';
+
+before 'superclasses' => sub {
+    my ($self, @superclasses) = @_;
+    confess 'Moose::Policy::SingleInheritence in effect for ' . 
+             $self->name . ', only single inheritence is allowed'
+         if scalar @superclasses > 1;
+};
+
+1;
+
+__END__
+
+=pod
+
+=cut