68 |
my %params = $req->params; |
my %params = $req->params; |
69 |
my $html; |
my $html; |
70 |
|
|
71 |
|
sub rest2class { |
72 |
|
my $class = shift; |
73 |
|
$class =~ s/-/::/; # sigh! |
74 |
|
return $class; |
75 |
|
} |
76 |
|
|
77 |
|
|
78 |
eval { |
eval { |
79 |
|
|
80 |
my $f; |
my $f; |
81 |
|
|
82 |
my $run_regexp = join('|', Frey::Run->execute ); |
my $run_regexp = join('|', Frey::Run->execute ); |
83 |
|
|
84 |
if ( $path =~ m!/Frey[:-]+ObjectBrowser! ) { |
if ( |
85 |
|
$path =~ m{/Frey[:-]+ObjectBrowser} |
86 |
|
) { |
87 |
$f = Frey::ObjectBrowser->new( fey_class => $params{class} ); |
$f = Frey::ObjectBrowser->new( fey_class => $params{class} ); |
88 |
$f->request( $req ); |
$f->request( $req ); |
89 |
} elsif ( $path =~ m!/Frey[:-]+ObjectDesigner! ) { |
} elsif ( |
90 |
|
$path =~ m{/Frey[:-]+ObjectDesigner} |
91 |
|
) { |
92 |
$f = Frey::ObjectDesigner->new( fey_class => $params{class} ); |
$f = Frey::ObjectDesigner->new( fey_class => $params{class} ); |
93 |
$f->request( $req ); |
$f->request( $req ); |
94 |
} elsif ( $path =~ m!/([^/]+)/($run_regexp)! ) { |
} elsif ( |
95 |
my $class = $1; |
$path =~ m{/([^/]+)/($run_regexp)} |
96 |
$class =~ s/-/::/; # sigh! |
) { |
97 |
|
my $class = rest2class $1; |
98 |
warn "# run $class $2\n"; |
warn "# run $class $2\n"; |
99 |
$f = Frey::Run->new( class => $class, params => \%params ); |
$f = Frey::Run->new( class => $class, params => \%params ); |
100 |
|
} elsif ( |
101 |
|
$path =~ m{/([^/]+)/?$} |
102 |
|
) { |
103 |
|
my $class = rest2class $1; |
104 |
|
warn "# introspect $class"; |
105 |
|
$f = Frey::Run->new( class => 'Frey::Introspect', params => { class => $class } ); |
106 |
} else { |
} else { |
107 |
$f = Frey::Run->new( class => 'Frey::ClassBrowser' ); |
$f = Frey::Run->new( class => 'Frey::ClassBrowser' ); |
108 |
} |
} |