Fix up pod. I was being mad.
Ash Berlin [Mon, 30 Jul 2007 19:23:38 +0000 (19:23 +0000)]
META.yml [deleted file]
lib/Class/C3/Componentised.pm
t/lib/MyModule.pm
t/lib/MyModule/Plugin/Foo.pm

diff --git a/META.yml b/META.yml
deleted file mode 100644 (file)
index 39c051b..0000000
--- a/META.yml
+++ /dev/null
@@ -1,16 +0,0 @@
----
-name: Class-C3-Componentised
-version: 0.01
-author:
-  - 'Matt S. Trout <mst@shadowcatsystems.co.uk>'
-abstract: ~
-license: perl
-requires:
-  Class::C3: 0
-build_requires:
-  Test::More: 0
-provides:
-  Class::C3::Componentised:
-    file: lib/Class/C3/Componentised.pm
-    version: 0.01
-generated_by: Module::Build version 0.26
index 8311ca3..e93033f 100644 (file)
@@ -17,11 +17,21 @@ Load mix-ins or components to your C3-based class.
 
   use base 'Class::C3::Componentised';
 
-  sub component_base_class { "MyModule::Plugin" }
+  sub component_base_class { "MyModule::Component" }
 
   package main;
 
-  MyModule->load_components( $self->{plugins} );
+  MyModule->load_components( qw/Foo Bar/ ); 
+  # Will load MyModule::Component::Foo an MyModule::Component::Bar
+
+=head1 DESCRIPTION
+
+This will inject base classes to your module using the L<Class::C3> method
+resolution order.
+
+Please note: these are not plugins that can take precedence over methods 
+declared in MyModule. If you want something like that, consider
+L<MooseX::Object::Pluggable>.
 
 =head1 METHODS
 
@@ -158,7 +168,7 @@ sub inject_base {
   {
     no strict 'refs';
     foreach my $to (reverse @to_inject) {
-      unshift( @{"${target}::ISA"}, $to )
+      unshift ( @{"${target}::ISA"}, $to )
         unless ($target eq $to || $target->isa($to));
     }
   }
index 51295ef..3aa04a3 100644 (file)
@@ -5,7 +5,11 @@ use base 'Class::C3::Componentised';
 
 sub component_base_class { "MyModule::Plugin" }
 
-sub message { "MyModule" }
+sub message { 
+  my $msg = $_[0]->maybe::next::method() || '';
+  
+  return $msg . " MyModule";
+}
 
 sub new { 
   return bless {}, shift;
index a42dc15..77f990c 100644 (file)
@@ -4,8 +4,7 @@ package # hide from pause
 use Class::C3;
 
 sub message { 
-  $DB::single = 1;
-  join(" ", "Foo", shift->next::method) 
+  "Foo";
 }
 
 1;