[SP-pm] Controller thin, model fat ! Como fazê-lo ?

Solli Honorio shonorio at gmail.com
Tue Jun 19 17:42:36 PDT 2012


Wallace,

Eu não consegui entender este Data::Manger. Não entendi como utilizar este
cara verificar os inputs, ao invés de ficar fazer 'if'. O cara parece ser
interessante, mas eu fiquei boiando.

Solli Honorio

2012/6/8 Wallace Reis <wallace em reis.me>

> On Jun 08, 2012, at 10:29 AM, Eden Cardim wrote:
> > [corte]
> > E o seu lean controller ficaria mais ou menos assim:
> >
> > sub my_action :Local {
> >  my($self, $c) = @_;
> >  $c->model('MyBizClass')
> >    ->handle($c->req->upload('file')->fh, $c->model('DB')->dbh,
> $c->user->email);
> > }
>
>
> Para validação de dados, tenho usado o Data::Verifier[1] atráves do
> Data::Manager[2] e este através do CatalystX::Controller::Verifier[3]. O
> Data::Verifier permite realizar isto com apoio do sistema de tipos do
> Moose[4] e com algumas extensões para validações mais complexas como no seu
> caso em que você precisa verificar que é um arquivo de imagem.
>
> Assim, o controller ficaria algo como (YMMV):
>
> __PACKAGE__->config(
>  verifiers => {
>    my_action => {
>      profile => {
>        image_file => {
>          required => 1,
>          type => 'FileHandle',
>          post_check => sub {
> isa_image_file(shift->get_value('image_file')) }
>        },
>      },
>    },
>  },
> );
>
> sub my_action :Local {
>  my($self, $c) = @_;
>   my $results = $self->verify($c);
>  $c->model('MyBizClass')
>    ->handle($results->get_value('image_file'), $c->model('DB')->dbh,
> $c->user->email);
> }
>
> [1] https://metacpan.org/module/Data::Verifier
> [2] https://metacpan.org/module/Data::Manager
> [3] https://metacpan.org/module/CatalystX::Controller::Verifier
> [4] https://metacpan.org/module/Moose::Util::TypeConstraints
>
> --
> Wallace Reis | wreis
> wallace em reis.me
> http://www.about.me/wallacereis
>
> =begin disclaimer
>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>


-- 
"o animal satisfeito dorme". - Guimarães Rosa
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20120619/88031fd8/attachment.html>


More information about the SaoPaulo-pm mailing list