MooseX::Types::CPF - CPF type for Moose classes


MooseX-Types-CPF documentation Contained in the MooseX-Types-CPF distribution.

Index


Code Index:

NAME

Top

MooseX::Types::CPF - CPF type for Moose classes

SYNOPSIS

Top

  package Class;
  use Moose;
  use MooseX::Types::CPF qw(CPF);

  has 'cpf' => ( is => 'ro', isa => CPF );

  package main;
  Class->new( cpf => '000.000.000-00' );

DESCRIPTION

Top

This module lets you constrain attributes to only contain CPF. No coercion is attempted.

EXPORT

Top

None by default, you'll usually want to request CPF explicitly.

AUTHOR

Top

Thiago Rondon <thiago@aware.com.br>

Aware TI (http://www.aware.com.br/)

COPYRIGHT

Top


MooseX-Types-CPF documentation Contained in the MooseX-Types-CPF distribution.

package MooseX::Types::CPF;
use strict;
use warnings;

our $VERSION = '0.02';
our $AUTHORITY = 'CPAN:TBR';

use MooseX::Types -declare => ['CPF'];
use MooseX::Types::Moose qw(Str);
use Business::BR::CPF;

sub _validate_cpf {
    my ($str) = @_;
    return test_cpf($str);
}

subtype CPF,
  as Str, 
  where { _validate_cpf($_) },
  message { 'CPF is invalid' };

1;

__END__