--- trunk/lib/Frey/Introspect.pm 2008/07/05 16:50:17 54
+++ trunk/lib/Frey/Introspect.pm 2008/07/08 12:19:04 59
@@ -11,6 +11,7 @@
use List::Util;
use Continuity::Widget::DomNode;
+use lib 'lib';
extends 'Frey';
@@ -45,8 +46,10 @@
my @roles_to_apply;
$rmeta->add_method("apply", sub{push(@roles_to_apply, [@_])});
#load the package with the hacked Moose::Meta::Role
- eval { Class::MOP::load_class($package); };
- confess "Failed to load package ${package} $@" if $@;
+
+ #eval { Class::MOP::load_class($package); };
+ #confess "Failed to load package ${package} $@" if $@;
+ Class::MOP::load_class($package);
my $meta = $package->meta;
@@ -198,7 +201,16 @@
my $methods;
- my ( $class, $meta, $is_role ) = $self->load_package();
+ my ( $class, $meta, $is_role );
+ eval { ( $class, $meta, $is_role ) = $self->load_package(); };
+ if ( $@ ) {
+ warn "ERROR: $@";
+ $request->conn->send_status_line( 500, $@ );
+ $request->print( $@ );
+ $request->next;
+ return;
+ }
+
if ( $class->can('meta') ) {
$methods = Continuity::Widget::DomNode->create(
ul => [
@@ -216,7 +228,7 @@
map {
my $attr = $class->get_attribute($_);
warn "## $_ ", $attr->is_required ? 'required' : 'optional';
- ( li => [ a => { href => '/~/' . $self->package . '/' . $_ } => [ $_, ( $attr->is_required ? ' required' : '' ) ] ] )
+ ( li => [ a => { href => '/~/' . $self->package . '/' . $_ } => [ $_ ], ( $attr->is_required ? ' required' : '' ) ] )
} $class->get_attribute_list
],
)->to_string;