--- trunk/lib/Frey/Introspect.pm 2008/11/17 19:08:31 381 +++ trunk/lib/Frey/Introspect.pm 2008/11/18 13:52:26 409 @@ -103,25 +103,6 @@ return $out; } -=head2 methods - - my @methods = $o->methods; - -=cut - -sub methods { - my $self = shift; - - my ( $meta, $is_role ) = $self->class_meta; - - my $attr; - $attr->{$_}++ foreach $meta->get_attribute_list; - my @methods = grep { ! defined($attr->{$_}) } $meta->get_method_list; - warn "# methods = ",dump( @methods ) if $self->debug; - - return sort @methods; -} - =head1 OUTPUT GENERATION =head2 markup @@ -181,17 +162,17 @@ $name .= qq|$nr|; } qq|$name| - } $self->methods; + } $self->class_methods( $class ); my @attributes; if ( $meta->get_attribute_list ) { - @attributes = map { + @attributes = map { my $name = $_; my $attr = $meta->get_attribute($name); - warn "## ref attr: ",ref( $attr ); + confess "$class attribute $name isn't blessed ",dump( $attr ) unless ref $attr; + warn "## attr $name ref ",ref( $attr ) if $self->debug; my ( $before, $title, $after ) = ( '', '', '' ); ( $before, $title, $after ) = ( '', ' title="required"', '' ) if $attr->is_required; -warn $attr->dump(3); foreach my $check ( qw/has_type_constraint has_handles is_weak_ref is_required is_lazy should_coerce should_auto_deref has_default has_trigger has_documentation has_applied_traits/ ) { my $getter; @@ -218,7 +199,7 @@ } qq|$before $name$type$after| - } sort $meta->get_attribute_list + } $meta->get_attribute_list } my $table = qq||; @@ -233,11 +214,12 @@ my $pod = Frey::Pod->new( class => $class )->markup; $pod = $pod->{body} if ref($pod); - my $Document = PPI::Document->new( $self->class_path( $class ) ); + my $path = $self->class_path( $class ); + my $Document = PPI::Document->new( $path ); # Create a reusable syntax highlighter my $Highlight = PPI::HTML->new( -# line_numbers => 1, + line_numbers => 1, # page => 1, # colors => { # line_number => '#CCCCCC', @@ -248,11 +230,18 @@ # Spit out the HTML my $source = $Highlight->html( $Document ); + $source =~ s{(\s*)(\d+)(:\s*)}{$1$2$3}g; + + # strip page html # $source =~ s{^.*]+>}{}s; # $source =~ s{$_| } grep { $class->can($_) } Frey::Run->runnable ); + my $class_method = $self->class_methods( $class ); + my $runnable = join("\n", + map { $class_method->{$_} ? qq|$_| : '' } grep { $class->can($_) } Frey::Run->runnable + ); $runnable = " runnable: $runnable" if $runnable; my $html = {
MethodsAttributesTypeProperties