--- trunk/lib/Frey/ClassLoader.pm 2008/12/02 01:06:46 668 +++ trunk/lib/Frey/ClassLoader.pm 2008/12/02 19:01:32 687 @@ -35,7 +35,7 @@ $class =~ s{^lib/}{}; $class =~ s{\.pm$}{}; $class =~ s{/}{::}g; - if ( $class =~ m{Mojo} ) { + if ( 0 && $class =~ m{Mojo} ) { # FIXME remove dead code $self->TODO( "Mojo support" ); return; } @@ -61,9 +61,15 @@ 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"; + if ( defined $INC{$path} ) { + $path = $INC{$path}; + warn "# $class from INC $path"; + $class_path->{$class} = $path; + } elsif ( $path =~ s{\.pm$}{} && -e "lib/${path}.pod" ) { + return "lib/${path}.pod"; + } else { + confess "can't find $class at $path"; + } } return $class_path->{$class}; } @@ -228,7 +234,11 @@ Frey::Web->meta->apply( $instance ); warn "new_frey_class $class role with Frey::Web"; } else { - $params->{request_url} = $self->request_url; + if ( $self->can('request_url') ) { + $params->{request_url} = $self->request_url; + } else { + warn "## $self doesn't have request_url"; + } $instance = $class->new( %$params ) or confess "can't $class->new".dump( %$params ); warn "new_frey_class $class"; }