/[Frey]/branches/no-pager/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

Diff of /branches/no-pager/lib/Frey/Class/Refactor.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

branches/no-pager/lib/Frey/Class/Rename.pm revision 738 by dpavlin, Sat Dec 6 15:29:10 2008 UTC branches/no-pager/lib/Frey/Class/Refactor.pm revision 746 by dpavlin, Sun Dec 7 01:33:37 2008 UTC
# Line 1  Line 1 
1  package Frey::Class::Rename;  package Frey::Class::Refactor;
2  use Moose;  use Moose;
3    
4  extends 'Frey';  extends 'Frey';
# Line 10  use Moose::Util::TypeConstraints; Line 10  use Moose::Util::TypeConstraints;
10  use lib 'lib'; # :Write in vim needs it  use lib 'lib'; # :Write in vim needs it
11  use Frey::Shell::Grep;  use Frey::Shell::Grep;
12    
 sub action_order { qw/find change/ }  
 enum 'action_order' => action_order;  
   
 has action => (  
         is => 'rw',  
         isa => 'action_order',  
         required => 1,  
         default => 'find', # FIXME first step, should be optional  
 );  
   
 =head2 as_markup  
   
 Simpliest possible dispatch example  
   
 =cut  
   
 sub as_markup {  
         my ($self) = @_;  
         my $to = $self->action;  
         $self->$to;  
 }  
   
 # step 1 find  
   
13  has from => (  has from => (
14          is => 'rw',          is => 'rw',
15          isa => 'Str',          isa => 'Str',
# Line 49  has to => ( Line 25  has to => (
25  );  );
26    
27    
28  sub find {  sub as_markup {
29          my ($self) = @_;          my ($self) = @_;
30    
31          $self->add_css(qq|          $self->add_css(qq|
# Line 81  sub find { Line 57  sub find {
57                          my $nr = $change_number++;                          my $nr = $change_number++;
58                          strip(qq|                          strip(qq|
59                                  <span class="modify">                                  <span class="modify">
60                                  <input type="hidden" name="change_path" value="$path">                                  <input type="hidden" name="path" value="$path">
61                                  <input type="hidden" name="change_line" value="$line">                                  <input type="hidden" name="line" value="$line">
62                                  <input type="text" name="change_modification" value="$to" size=$len>                                  <input type="text" name="modification" value="$to" size=$len>
63                                  <input type="checkbox" name="change_selected" value=$nr checked>                                  <input type="checkbox" name="selected" value=$nr checked>
64                                  </span>                                  </span>
65                          |)                          |)
66                          }egs;                          }egs;
# Line 94  sub find { Line 70  sub find {
70    
71          $self->title( $self->from . ' => ' . $self->to );          $self->title( $self->from . ' => ' . $self->to );
72    
         my $preserve;  
   
         $self->step('modify');  
         $preserve .= qq|<input type="hidden" name="$_" value="| . $self->$_ . qq|">| foreach ( qw/step action_on from to/ );  
   
73          return qq|          return qq|
74                  <form class="modify" method="post">                  <form class="modify" action="/Frey::Class::Refactor::Modify/as_markup" method="post">
                 $preserve  
75                  $grep                  $grep
76                  <input type="submit" name="action"                  <input type="submit" name="action" value="Modify">
77                  </form>                  </form>
78          |;          |;
79  }  }
80    
 # step 2 modify  
   
 has change_selected => (  
         is => 'rw',  
         isa => 'ArrayRef[Str]',  
         default => sub {},  
 );  
   
 has change_path => (  
         is => 'rw',  
         isa => 'ArrayRef[Str]',  
         default => sub {},  
 );  
   
 has change_line => (  
         is => 'rw',  
         isa => 'ArrayRef[Str]',  
         default => sub {},  
 );  
   
 has change_modification => (  
         is => 'rw',  
         isa => 'ArrayRef[Str]',  
         default => sub {},  
 );  
   
 sub modify {  
         my ($self) = @_;  
   
         my $dump;  
         $dump->{$_} = $self->$_ foreach ( qw/change_selected change_path change_line change_modification/ );  
   
         return $self->html_dump( $dump );  
 }  
   
81  1;  1;

Legend:
Removed from v.738  
changed lines
  Added in v.746

  ViewVC Help
Powered by ViewVC 1.1.26