package DBIx::Class::Wrapper::Object; { $DBIx::Class::Wrapper::Object::VERSION = '0.004'; } use Moose; has 'factory' => ( isa => 'DBIx::Class::Wrapper::Factory' , required => 1 , is => 'ro' ); =head1 NAME DBIx::Class::Wrapper::Object - Base class for object containing business code around another DBIC object. =head1 PROPERTIES =over =item bm The business model. Mandatory. =back =head1 EXAMPLE package My::BM::O::User; use Moose; extends qw/DBIx::Class::Wrapper::Object/; has 'dbuser' => ( isa => 'My::Schema::Result::User' , is => 'ro' , required => 1 , handles => qw/.*/ ); sub check_password{ my ($self , $password) = @_; return $self->password() eq $password; # Do NOT do that :) } 1; =cut __PACKAGE__->meta->make_immutable(); 1;