Mongol::Cookbook - Mongol tips and tricks
package Models::Base { use Moose; extends 'Mongol::Model' __PACKAGE__->meta()->make_immutable(); } package Models::User { use Moose; extends 'Models::Base'; with 'Mongol::Roles::Core'; has 'username' => ( is => 'ro', isa => 'Str', required => 1 ); has 'password' => ( is => 'ro', isa => 'Str', required => 1, ); ... __PACKAGE__->meta()->make_immutable(); }
Somewhere in the Mojolicious world...
sub action { my $self = shift(); ... my $user = Models::User->retrieve( $self->param( 'user_id' ) ); return $self->render( json => $user->serialize() ); }
package Models::User { use Moose; extends 'Mongol::Model'; use Data::UUID; with 'Mongol::Roles::Core'; has '+id' => ( default => sub { Data::UUID->new()->create_b64() }, ); has 'username' => ( is => 'ro', isa => 'Str', required => 1, ); has 'password' => ( is => 'ro', isa => 'Str', required => 1, ); ... __PACKAGE__->meta()->make_immutable(); } 1;
Mojolicious
Tudor Marghidanu <tudor@marghidanu.com>
To install Mongol, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Mongol
CPAN shell
perl -MCPAN -e shell install Mongol
For more information on module installation, please visit the detailed CPAN module installation guide.