Dave Cross: Still Munging Data With Perl: Online event - Mar 27 Learn more

use Moose;
extends 'Catalyst::Model';
namespace 'person';
content_type 'application/x-www-form-urlencoded';
has username => (is=>'ro', required=>1, property=>{always_array=>1});
has first_name => (is=>'ro', property=>1);
has last_name => (is=>'ro', property=>1);
has notes => (is=>'ro', property=>+{ expand=>'JSON' });
has maybe_array => (is=>'ro', property=>+{ flatten=>0 });
has maybe_array2 => (is=>'ro', property=>+{ flatten=>0 });
has empty => (is=>'ro', property=>+{ omit_empty=>0 });
has indexed => (is=>'ro', property=>+{ indexed=>1 });
has empty_array => (is=>'ro', default=>sub {[]}, property=>+{ omit_empty=>0 });
has profile => (is=>'ro', property=>+{model=>'AccountRequest::Profile' });
has person_roles => (is=>'ro', property=>+{ indexed=>1, model=>'AccountRequest::PersonRole' });
has credit_cards => (is=>'ro', property=>+{ indexed=>1, model=>'::CreditCard' });
__PACKAGE__->meta->make_immutable();
use Moose;
extends 'Catalyst::Model';
has id => (is=>'ro', property=>1);
has address => (is=>'ro', property=>1);
has city => (is=>'ro', property=>1);
has state_id => (is=>'ro', property=>1);
has zip => (is=>'ro', property=>1);
has phone_number => (is=>'ro', property=>1);
has birthday => (is=>'ro', property=>1);
has status => (is=>'ro', property=>1);
has registered => (is=>'ro', property=>+{ boolean=>1 });
__PACKAGE__->meta->make_immutable();
use Moose;
extends 'Catalyst::Model';
has role_id => (is=>'ro', property=>1);
__PACKAGE__->meta->make_immutable();
use Moose;
extends 'Catalyst::Model';
has id => (is=>'ro', property=>1);
has card_number => (is=>'ro', property=>1);
has expiration => (is=>'ro', property=>1);
has _delete => (is=>'ro', property=>1);
has _add => (is=>'ro', property=>1);
__PACKAGE__->meta->make_immutable();