/[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 50 by dpavlin, Wed Jul 2 22:30:19 2008 UTC revision 51 by dpavlin, Thu Jul 3 19:51:18 2008 UTC
# Line 8  use Moose::Meta::Class; Line 8  use Moose::Meta::Class;
8  use Scalar::Util qw/blessed/;  use Scalar::Util qw/blessed/;
9  use Data::Dump qw/dump/;  use Data::Dump qw/dump/;
10  use File::Slurp;  use File::Slurp;
11    use List::Util;
12    
13  extends 'Frey';  extends 'Frey';
14    
# Line 17  has 'package' => ( Line 18  has 'package' => (
18          required => 1,          required => 1,
19  );  );
20    
21    has 'renderHTML' => (
22            is => 'rw',
23            isa => 'Str',
24    );
25    
26    has 'path' => (
27            is => 'rw',
28    );
29    
30    =head2 examine
31    
32      my $js = $o->examine( 'Some::Package' );
33    
34    =cut
35    
36  sub examine {  sub examine {
37          my ($self) = @_;          my ($self) = @_;
38    
# Line 55  sub examine { Line 71  sub examine {
71          my $out;          my $out;
72    
73          my ( $m, $c ) = split(/::/, $class->name, 2);          my ( $m, $c ) = split(/::/, $class->name, 2);
74          my $filename = "$m.$c.js";          my $filename = $m . '.' . ( $c ? "$c." : '' ) . 'js';
75    
76          $out .= "Module(\"$m\", function (m) {\n\tClass(\"$c\", {\n\t\thas: {\n";          $out .= "Module(\"$m\", function (m) {\n\tClass(\"$c\", {\n\t\thas: {\n";
77    
# Line 84  sub examine { Line 100  sub examine {
100    
101          }          }
102    
103            $out .= "\t\t},\n\t\tmeta: Frey.HTML,
104                    classMethods: {
105                            renderHTML: function () {
106                                    return new Joose.SimpleRequest().getText(\"json?class=$c\")
107                            },\n";
108    
109          $out .= "\t\t},\n";          $out .= "\t\t},\n";
110    
111          $out .= "\t}),\n";          $out .= "\t}),\n";
# Line 95  sub examine { Line 117  sub examine {
117    
118          warn $class->dump(2);          warn $class->dump(2);
119    
120          warn "get_attribute_list = ",dump( $class->get_attribute_list );          my $attr;
121  #       warn dump( map{ $class->get_attribute($_) } sort $class->get_attribute_list );          $attr->{$_}++ foreach $class->get_attribute_list;
122            my @methods = grep { ! defined($attr->{$_}) } $class->get_method_list;
123            warn "methods = ",dump( @methods );
124    
125          warn dump( $class->get_method_list );          warn "method_list = ",dump( $class->get_method_list );
126            warn dump( map{ $class->get_method($_)->name } sort $class->get_method_list );
127    
128          print $out;  #       print $out;
129          my $path = "static/blib/$filename";          my $path = "static/blib/$filename";
130          write_file( $path, $out );          write_file( $path, $out );
131          warn "# created $path\n";          warn "# created $path\n";
132            $self->path( $path );
133    
134            return $out;
135  }  }
136    
137  =head1 SEE ALSO  =head1 SEE ALSO

Legend:
Removed from v.50  
changed lines
  Added in v.51

  ViewVC Help
Powered by ViewVC 1.1.26