/[Frey]/trunk/lib/Frey/Class/Refactor.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

Annotation of /trunk/lib/Frey/Class/Refactor.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1133 - (hide annotations)
Tue Jun 30 15:10:55 2009 UTC (14 years, 11 months ago) by dpavlin
File size: 1515 byte(s)
make classes immutable and remove moose droppings to make Perl::Critic::Moose happy
1 dpavlin 768 package Frey::Class::Refactor;
2 dpavlin 732 use Moose;
3    
4     extends 'Frey';
5     with 'Frey::Web';
6    
7     use Moose::Util::TypeConstraints;
8    
9     use lib 'lib'; # :Write in vim needs it
10     use Frey::Shell::Grep;
11    
12     has from => (
13     is => 'rw',
14     isa => 'Str',
15     required => 1,
16 dpavlin 788 default => 'Frey::',
17 dpavlin 732 );
18    
19     has to => (
20     is => 'rw',
21     isa => 'Str',
22     required => 1,
23 dpavlin 788 default => 'Frey::HTML::',
24 dpavlin 732 );
25    
26    
27 dpavlin 768 sub as_markup {
28 dpavlin 732 my ($self) = @_;
29    
30     $self->add_css(qq|
31     span.modify {
32     display: inline;
33     backgrund: #ffc;
34     }
35     |);
36    
37     my $len = length( $self->to );
38     my $to = $self->to;
39    
40 dpavlin 771 my $change_number = 0;
41 dpavlin 732
42     my $grep = Frey::Shell::Grep->new(
43     pattern => $self->from,
44     )->as_markup(
45     dd => sub {
46     my ( $patt, $path, $line, $text ) = @_;
47     $text =~ s{(\Q$patt\E)}{
48     my $nr = $change_number++;
49     strip(qq|
50     <span class="modify">
51 dpavlin 768 <input type="hidden" name="path" value="$path">
52     <input type="hidden" name="line" value="$line">
53     <input type="text" name="modification" value="$to" size=$len>
54     <input type="checkbox" name="selected" value=$nr checked>
55 dpavlin 732 </span>
56     |)
57     }egs;
58     qq|<dd><a target="editor" href="/editor+$path+$line">$line</a> <code>$text</code>|;
59     },
60     );
61    
62     $self->title( $self->from . ' => ' . $self->to );
63    
64     return qq|
65 dpavlin 768 <form class="modify" action="/Frey::Class::Refactor::Modify/as_markup" method="post">
66 dpavlin 772 <input type="hidden" name="from" value="| . $self->from . qq|">
67 dpavlin 732 $grep
68 dpavlin 768 <input type="submit" name="action" value="Modify">
69 dpavlin 732 </form>
70     |;
71     }
72    
73 dpavlin 1133 __PACKAGE__->meta->make_immutable;
74     no Moose;
75     no Moose::Util::TypeConstraints;
76    
77 dpavlin 732 1;

  ViewVC Help
Powered by ViewVC 1.1.26