--- trunk/lib/Frey/Introspect.pm 2008/11/05 08:20:59 288
+++ trunk/lib/Frey/Introspect.pm 2008/11/05 19:13:01 308
@@ -10,7 +10,7 @@
use lib 'lib';
-extends 'Frey';
+extends 'Frey::ClassLoader';
with 'Frey::Web';
has 'class' => (
@@ -32,7 +32,7 @@
sub joose {
my ($self) = @_;
- my ( $meta, $is_role ) = $self->load_class;
+ my ( $meta, $is_role ) = $self->class_meta;
if ( ! $is_role ) {
my @superclasses = map{ $_->meta->name }
@@ -77,7 +77,7 @@
$out .= "\t\t},\n\t\tmeta: Frey.HTML,
classMethods: {
renderHTML: function () {
- return new Joose.SimpleRequest().getText(\"/Frey-Introspect?class=" . $self->class . "\")
+ return new Joose.SimpleRequest().getText(\"/" . $self->class . "\")
},\n";
$out .= "\t\t},\n";
@@ -109,7 +109,7 @@
sub methods {
my $self = shift;
- my ( $meta, $is_role ) = $self->load_class;
+ my ( $meta, $is_role ) = $self->class_meta;
my $attr;
$attr->{$_}++ foreach $meta->get_attribute_list;
@@ -119,14 +119,6 @@
return sort @methods;
}
-use Frey::ClassLoader;
-
-sub load_class {
- my $self = shift;
- return Frey::ClassLoader->load_package( $self->class );
-}
-
-
=head1 OUTPUT GENERATION
=head2 markup
@@ -140,7 +132,7 @@
$self->add_head( 'static/introspect.css' );
- my ( $meta, $is_role ) = $self->load_class;
+ my ( $meta, $is_role ) = $self->class_meta;
my $class = $self->class;
@@ -172,11 +164,12 @@
}
$after .= ' ';
}
- qq|
$before $_ | $after | |
+ my $type = $attr->has_type_constraint ? $attr->type_constraint->name : '';
+ qq|$before $_ | $type | $after | |
} sort $meta->get_attribute_list
}
- my $table = qq|Methods | Attributes | Properties |
|;
+ my $table = qq|