10 |
use Carp qw/confess/; |
use Carp qw/confess/; |
11 |
use File::Slurp; |
use File::Slurp; |
12 |
|
|
13 |
|
use Frey::Bookmarklet; |
14 |
|
use Frey::ClassBrowser; |
15 |
|
|
16 |
has 'head' => ( |
has 'head' => ( |
17 |
is => 'rw', |
is => 'rw', |
18 |
isa => 'ArrayRef[Str]', |
isa => 'ArrayRef[Str]', |
24 |
isa => 'ArrayRef[HashRef[Str]]', |
isa => 'ArrayRef[HashRef[Str]]', |
25 |
lazy => 1, |
lazy => 1, |
26 |
default => sub { [ |
default => sub { [ |
27 |
{ 'Bookmarklets' => Frey::Bookmarklet->markup }, |
{ 'Bookmarklets' => Frey::Bookmarklet->new->markup }, |
28 |
{ 'ClassBrowser' => Frey::ClassBrowser->markup }, |
{ 'ClassBrowser' => Frey::ClassBrowser->new->markup }, |
29 |
] }, |
] }, |
30 |
); |
); |
31 |
|
|
118 |
|
|
119 |
=cut |
=cut |
120 |
|
|
|
use Frey::Bookmarklet; |
|
|
use Frey::ClassBrowser; |
|
|
|
|
121 |
sub page { |
sub page { |
122 |
my $self = shift; |
my $self = shift; |
123 |
my $a = {@_}; |
my $a = {@_}; |
170 |
my ($package, $filename, $line) = caller; |
my ($package, $filename, $line) = caller; |
171 |
$error .= " at $filename line $line" if $error !~ m{ at }; |
$error .= " at $filename line $line" if $error !~ m{ at }; |
172 |
warn "WARN: $error\n"; |
warn "WARN: $error\n"; |
173 |
$error =~ s{at\s+(\S+)\s+line\s+(\d+)}{at <a href="/editor$1+$2" target="editor">$1</a> line $2}gsm; |
$error =~ s{at\s+(\S+)\s+line\s+(\d+)}{at <a target="editor" href="/editor+$1+$2">$1</a> line $2}gsm; |
174 |
|
$error =~ s{(via package ")([\w:]+)(")}{$1<a target="editor" href="/editor+$2+1">$2</a>$3}gsm; |
175 |
return qq|<pre class="frey-error">$error</pre>|; |
return qq|<pre class="frey-error">$error</pre>|; |
176 |
} |
} |
177 |
|
|