84 |
my $run_regexp = join('|', Frey::Run->runnable ); |
my $run_regexp = join('|', Frey::Run->runnable ); |
85 |
my $editor = Frey::Editor->new; |
my $editor = Frey::Editor->new; |
86 |
|
|
87 |
|
# shared run params |
88 |
|
my $run = { |
89 |
|
request_url => $req->request->url, |
90 |
|
}; |
91 |
|
|
92 |
if ( |
if ( |
93 |
$path =~ m{/Frey[:-]+ObjectBrowser} |
$path =~ m{/Frey[:-]+ObjectBrowser} |
94 |
) { |
) { |
104 |
system( $editor->command( $path ) ); |
system( $editor->command( $path ) ); |
105 |
return; |
return; |
106 |
} elsif ( |
} elsif ( |
107 |
$path =~ m{/([^/]+)/($run_regexp)} |
$path =~ m{/([^/]+)/($run_regexp)/?([^/]+)?} |
108 |
) { |
) { |
109 |
my $class = rest2class $1; |
my $class = rest2class $1; |
110 |
warn "# run $class $2\n"; |
warn "# run $path -> $class $2"; |
111 |
$f = Frey::Run->new( class => $class, params => \%params, run => $2, request_url => $req->request->url ); |
$run->{format} = $3 if $3; |
112 |
|
$f = Frey::Run->new( class => $class, params => \%params, run => $2, %$run ); |
113 |
} elsif ( |
} elsif ( |
114 |
$path =~ m{/([^/]+)/?$} |
$path =~ m{/([^/]+)/?$} |
115 |
) { |
) { |
116 |
my $class = rest2class $1; |
my $class = rest2class $1; |
117 |
warn "# introspect $class"; |
warn "# introspect $class"; |
118 |
$f = Frey::Run->new( class => 'Frey::Introspect', params => { class => $class }, request_url => $req->request->url ); |
$f = Frey::Run->new( class => 'Frey::Introspect', params => { class => $class }, %$run ); |
119 |
} else { |
} else { |
120 |
$f = Frey::Run->new( class => 'Frey::ClassBrowser' ); |
$f = Frey::Run->new( class => 'Frey::ClassBrowser', %$run ); |
121 |
} |
} |
122 |
|
|
123 |
if ( $f ) { |
if ( $f ) { |