[Catalyst] writing a test suite for my app
    Daniel McBrearty 
    danielmcbrearty at gmail.com
       
    Mon May 15 00:11:36 CEST 2006
    
    
  
ok, here is the controller , minus docs ... (I changed teh method from
"index" to "natlang" as I remember seeing that cat treats "index" specially
... just to see if it was  to do with that. seems to be the same ...)
package Engoi::Controller::Public;
use strict;
use warnings;
use base 'Catalyst::Controller';
sub default : Private {
    my ( $self, $c ) = @_;
    $c->log->debug("Public::default : redirecting to home");
    $c->res->redirect('home');
}
sub natlang : Local {
    my ( $self, $c ) = @_;
    $c->stash->{langs} = getLangsAsArray($c);
}
sub home : Local {
    my ( $self, $c ) = @_;
    # blah
}
sub menu : Local {
    my ( $self, $c ) = @_;
    # more blah
}
# helper method
sub getLangsAsArray
{
    my ($c, $natlang) = @_; # exclude this if it is defined
    my $all_langs = $c->getLangs(); # TODO use database for this ...
    my $count = 0;
    my $table_width = 4;
    my $langs = [];
    my $row = [];
    foreach my $l (@$all_langs)
    {
        unless (defined $natlang && $l eq $natlang)
        {
            $row = [] if ($count % $table_width == 0); # start of row?
            push @$row, $l;
            $count++;
            push @$langs, $row if ($count % $table_width == ($table_width -
1));
        }
    }
    # we don't bother to pad out last element
    # as it works and the code validates OK
    return $langs;
}
1;
-- 
Daniel McBrearty
email : danielmcbrearty at gmail.com
www.engoi.com : the multi - language vocab trainer
BTW : 0873928131
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.rawmode.org/pipermail/catalyst/attachments/20060515/de2ead9b/attachment.htm 
    
    
More information about the Catalyst
mailing list