fix
[gitmo/Moose.git] / lib / Moose.pm
index 9365583..a52784c 100644 (file)
@@ -19,6 +19,7 @@ use Moose::Meta::Class;
 use Moose::Meta::TypeConstraint;
 use Moose::Meta::TypeCoercion;
 use Moose::Meta::Attribute;
+use Moose::Meta::Instance;
 
 use Moose::Object;
 use Moose::Util::TypeConstraints;
@@ -47,7 +48,7 @@ use Moose::Util::TypeConstraints;
             $meta = Moose::Meta::Class->initialize($class);
             $meta->add_method('meta' => sub {
                 # re-initialize so it inherits properly
-                Moose::Meta::Class->initialize($class);
+                Moose::Meta::Class->initialize(blessed($_[0]) || $_[0]);
             })
         }
 
@@ -144,6 +145,14 @@ use Moose::Util::TypeConstraints;
         },
         blessed => sub {
             return \&Scalar::Util::blessed;
+        },
+        all_methods => sub {
+            subname 'Moose::all_methods' => sub () {
+                sub {
+                    my ( $class, $delegate_class ) = @_;
+                    $delegate_class->compute_all_applicable_methods();
+                }
+            }
         }
     );
 
@@ -154,14 +163,14 @@ use Moose::Util::TypeConstraints;
         }
     });
     
-    sub import {
+    sub import {     
         $CALLER = caller();
 
         # we should never export to main
         return if $CALLER eq 'main';
 
         goto $exporter;
-    };
+    }
 }
 
 ## Utility functions
@@ -509,4 +518,4 @@ L<http://www.iinteractive.com>
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself. 
 
-=cut
\ No newline at end of file
+=cut