--- trunk/lib/Frey/ClassLoader.pm 2008/11/06 16:05:45 320 +++ trunk/lib/Frey/ClassLoader.pm 2008/11/18 10:35:27 404 @@ -17,6 +17,8 @@ =head2 classes +Return all local classes by reading from disk + my @classes = $o->classes; =cut @@ -40,6 +42,8 @@ =head2 class_path +Return any local or loaded class + $path = $o->class_path( $class ); =cut @@ -47,7 +51,14 @@ sub class_path { my ( $self, $class ) = @_; $self->classes unless $class_path; - confess "can't find path for class $class" unless defined $class_path->{$class}; + if ( ! defined $class_path->{$class} ) { + my $path = $class; + $path =~ s{::}{/}g; + $path .= '.pm'; + $path = $INC{$path}; + warn "# $class from INC $path"; + $class_path->{$class} = $path || confess "can't find path for $class"; + } return $class_path->{$class}; } @@ -89,7 +100,7 @@ $is_role = 1; $instance = Moose::Meta::Class->create_anon_class; $class->meta->apply( $instance ); - $meta = $instance->meta; + $meta = $class->meta; die $@ if $@; } else { $meta = $class->meta;