/[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 54 by dpavlin, Sat Jul 5 16:50:17 2008 UTC revision 66 by dpavlin, Wed Jul 9 12:08:07 2008 UTC
# Line 11  use File::Slurp; Line 11  use File::Slurp;
11  use List::Util;  use List::Util;
12    
13  use Continuity::Widget::DomNode;  use Continuity::Widget::DomNode;
14    use lib 'lib';
15    
16  extends 'Frey';  extends 'Frey';
17    
# Line 45  sub load_package { Line 46  sub load_package {
46          my @roles_to_apply;          my @roles_to_apply;
47          $rmeta->add_method("apply", sub{push(@roles_to_apply, [@_])});          $rmeta->add_method("apply", sub{push(@roles_to_apply, [@_])});
48          #load the package with the hacked Moose::Meta::Role          #load the package with the hacked Moose::Meta::Role
49          eval { Class::MOP::load_class($package); };  
50          confess "Failed to load package ${package} $@" if $@;          #eval { Class::MOP::load_class($package); };
51            #confess "Failed to load package ${package} $@" if $@;
52            Class::MOP::load_class($package);
53    
54          my $meta = $package->meta;          my $meta = $package->meta;
55    
# Line 115  sub joose { Line 118  sub joose {
118          $out .= "\t\t},\n\t\tmeta: Frey.HTML,          $out .= "\t\t},\n\t\tmeta: Frey.HTML,
119                  classMethods: {                  classMethods: {
120                          renderHTML: function () {                          renderHTML: function () {
121                                  return new Joose.SimpleRequest().getText(\"/~/${m}::${c}\")                                  return new Joose.SimpleRequest().getText(\"/~/" . $self->package . "\")
122                          },\n";                          },\n";
123    
124          $out .= "\t\t},\n";          $out .= "\t\t},\n";
# Line 194  function $(id) { Line 197  function $(id) {
197  </script>  </script>
198  __END_OF_JS__  __END_OF_JS__
199    
200                  warn "# >>> js\n$js\n";                  warn "# >>> js\n$js\n" if $self->debug;
   
                 my $methods;  
201    
202                  my ( $class, $meta, $is_role ) = $self->load_package();                  my ( $class, $meta, $is_role ) = $self->load_package();
203    
204                    my $methods;
205                  if ( $class->can('meta') ) {                  if ( $class->can('meta') ) {
206                          $methods = Continuity::Widget::DomNode->create(                          $methods = Continuity::Widget::DomNode->create(
207                                  ul => [                                  ul => [
# Line 216  __END_OF_JS__ Line 219  __END_OF_JS__
219                                  map {                                  map {
220                                          my $attr = $class->get_attribute($_);                                          my $attr = $class->get_attribute($_);
221                                          warn "## $_ ", $attr->is_required ? 'required' : 'optional';                                          warn "## $_ ", $attr->is_required ? 'required' : 'optional';
222                                          ( li => [ a => { href => '/~/' . $self->package . '/' . $_ } => [ $_, ( $attr->is_required ? ' <b>required</b>' : '' ) ] ] )                                          ( li => [ a => { href => '/~/' . $self->package . '/' . $_ } => [ $_ ], ( $attr->is_required ? ' <b>required</b>' : '' ) ] )
223                                  } $class->get_attribute_list                                  } $class->get_attribute_list
224                          ],                          ],
225                  )->to_string;                  )->to_string;

Legend:
Removed from v.54  
changed lines
  Added in v.66

  ViewVC Help
Powered by ViewVC 1.1.26