--- trunk/lib/Frey/Introspect.pm 2008/07/15 13:58:07 133
+++ trunk/lib/Frey/Introspect.pm 2008/07/15 14:56:28 134
@@ -150,7 +150,7 @@
@attributes = map {
my $attr = $class->get_attribute($_);
my ( $before, $title, $after ) = ( '', '', '' );
- ( $before, $title, $after ) = ( '', ' title="required"', '' ) if $attr->is_required;
+ ( $before, $title, $after ) = ( '', ' title="required"', '' ) if $attr->can('is_required') && $attr->is_required;
qq|
$before$_$after | |
} sort $class->get_attribute_list
}
@@ -173,23 +173,31 @@
warn "## css = ",dump( $self->css );
- my $superclasses = 'Role';
- $superclasses = 'Superclasses: ' . join(', ',
- map {
- my $s = $_->meta->name;
- qq|$s|
+ my ( $superclasses, $roles ) = ( '', 'Role' );
+ if ( ! $is_role ) {
+ if ( $meta->superclasses ) {
+ $superclasses = 'Superclasses: ' .
+ join(', ',
+ map { my $s = $_->meta->name; qq|$s| }
+ #grep { $_ ne 'Moose::Object' }
+ $meta->superclasses
+ );
}
- #grep { $_ ne 'Moose::Object' }
- $meta->superclasses
- ) if ! $is_role && $meta->superclasses;
+
+ if ( $meta->can('roles') ) {
+ $roles = join(', ', map { my $r = $_->name; qq|$r| } @{ $meta->roles } );
+ $roles = " with roles: $roles" if $roles;
+ }
+ }
my $pod = Frey::Pod->new( class => $package )->markup;
my $html = $self->page(
title => "Introspect $package",
body => qq|$package
|
- . ( $pod ? qq|↓pod&darr | : '' )
- . qq|$superclasses\n$table\n$pod\n$classes|,
+ . qq|$superclasses\n$roles\n|
+ . ( $pod ? qq|↓pod&darr| : '' )
+ . qq|$table\n$pod\n$classes|,
);