/[Frey]/trunk/lib/Frey/Introspect.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/Frey/Introspect.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 139 by dpavlin, Tue Jul 15 23:35:27 2008 UTC revision 197 by dpavlin, Tue Oct 28 20:46:35 2008 UTC
# Line 138  sub load_package { Line 138  sub load_package {
138  sub html {  sub html {
139          my ( $self, $request ) = @_;          my ( $self, $request ) = @_;
140    
141          $self->add_css( 'static/introspect.css' );          $self->add_head( 'static/introspect.css' );
         warn "## css = ",dump( $self->css );  
142    
143          while (1) {          while (1) {
144    
# Line 156  sub html { Line 155  sub html {
155                                  my $attr = $meta->get_attribute($_);                                  my $attr = $meta->get_attribute($_);
156                                  my ( $before, $title, $after ) = ( '', '', '' );                                  my ( $before, $title, $after ) = ( '', '', '' );
157                                  ( $before, $title, $after ) = ( '<b>', ' title="required"', '</b>' ) if $attr->is_required;                                  ( $before, $title, $after ) = ( '<b>', ' title="required"', '</b>' ) if $attr->is_required;
158                                  qq|<td>$before<a href="/~/$package/?$_">$_</a>$after</td>|  warn $attr->dump;
159                                    foreach my $check ( qw/has_type_constraint has_handles is_weak_ref is_required is_lazy should_coerce should_auto_deref has_trigger has_documentation has_applied_traits/ ) {
160                                            my $getter;
161                                            
162                                            $getter = $check;
163                                            $getter =~ s/^has_//;
164                                            
165                                            if ( $attr->$check ) {
166                                                    if ( $getter eq $check ) {
167                                                            $after .= "$check ";
168                                                    } else {
169                                                            $after .= qq{<span class="frey-popup">$check};
170                                                            $after .= '<span>' . $attr->$getter->dump . '</span>' if $getter ne $check;
171                                                            $after .= ' </span>';
172                                                    }
173                                            }
174                                    }
175                                    qq|<td>$before<a href="/~/$package/?$_">$_</a></td><td>$after</td>|
176                          } sort $meta->get_attribute_list                          } sort $meta->get_attribute_list
177                  }                  }
178    
179                  my $table = qq|<table><tr><th>Methods</th><th>Attributes</th></tr>|;                  my $table = qq|<table><tr><th>Methods</th><th>Attributes</th><th>Properties</th></tr>|;
180                  while ( @methods || @attributes ) {                  while ( @methods || @attributes ) {
181                          my ($m,$a) = ( shift @methods, shift @attributes );                          my ($m,$a) = ( shift @methods, shift @attributes );
182                          $m ||= '<td></td>';                          $m ||= '<td></td>';
# Line 174  sub html { Line 190  sub html {
190                          Frey::ClassBrowser->new->markup .                          Frey::ClassBrowser->new->markup .
191                          qq|</div>|;                          qq|</div>|;
192    
193                  my ( $superclasses, $roles ) = ( '', 'Role' );                  my ( $superclasses, $roles ) = ( '<b>Role</b>', '' );
194                  if ( ! $is_role ) {                  if ( ! $is_role ) {
195                          if ( $meta->superclasses ) {                          if ( $meta->superclasses ) {
196                                  $superclasses = 'Superclasses: ' .                                  $superclasses = 'Superclasses: ' .
# Line 184  sub html { Line 200  sub html {
200                                                  $meta->superclasses                                                  $meta->superclasses
201                                          );                                          );
202                          }                          }
203                    }
204    
205                          if ( $meta->can('roles') ) {                  if ( $meta->can('roles') ) {
206                                  $roles = join(', ', map { my $r = $_->name; qq|<a href="/~/$r">$r</a>| } @{ $meta->roles } );                          $roles = join(', ',
207                                  $roles = " with roles: $roles" if $roles;                                  grep { ! m/\Q$package\E/ }      # skip me
208                          }                                  map { my $r = $_->name; qq|<a href="/~/$r">$r</a>| }
209                                    $meta->calculate_all_roles
210                            );
211                            $roles = " with roles: $roles" if $roles;
212                  }                  }
213    
214                  my $pod = Frey::Pod->new( class => $package )->markup;                  my $pod = Frey::Pod->new( class => $package )->markup;

Legend:
Removed from v.139  
changed lines
  Added in v.197

  ViewVC Help
Powered by ViewVC 1.1.26