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


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

Index


Code Index:

NAME

Top

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

SYNOPSIS

Top

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

  has 'cnpj' => ( is => 'ro', isa => CNPJ );

  package main;
  Class->new( cnpj => '00.000.000/0000-00' );

DESCRIPTION

Top

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

EXPORT

Top

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

AUTHOR

Top

Thiago Rondon <thiago@aware.com.br>

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

COPYRIGHT

Top


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

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

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

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

sub _validate_cnpj {
    my ($str) = @_;
    return test_cnpj($str);
}

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


1;

__END__