--- trunk/lib/Frey/ClassLoader.pm 2008/07/11 22:54:42 101 +++ trunk/lib/Frey/ClassLoader.pm 2008/07/14 23:12:07 125 @@ -7,10 +7,11 @@ use File::Find; our $package_path; +our @classes; sub classes { my $self = shift; - return keys %$package_path if $package_path; + return @classes if @classes; # FIXME there must be better way to do this in Moose style finddepth({ no_chdir => 1, wanted => sub { @@ -22,12 +23,13 @@ } }, 'lib'); warn "## package_path = ",dump( $package_path ) if $self->debug; - return keys %$package_path; + @classes = sort keys %$package_path; } sub package_path { my ( $self, $package ) = @_; - die "can't find path for package $package" unless defined $package_path->{$package}; + $self->classes unless $package_path; + confess "can't find path for package $package" unless defined $package_path->{$package}; return $package_path->{$package}; }