|
NAMEMongoose::Class - sugary Mongoose-oriented replacement for MooseSYNOPSISpackage MySchema::Person; use Mongoose::Class; # uses Moose for you with 'Mongoose::Document'; has 'name' => ( is => 'rw', isa => 'Str' ); has_many 'siblings' => ( is => 'rw', isa => 'Person' ); belongs_to 'club' => ( is => 'rw', isa => 'Club' ); has_one 'father' => ( is => 'rw', isa => 'Person' ); DESCRIPTIONThis is very much a work-in-progress.Basically, this module adds some sugar into your Mongoose Document class by defining some stand-in replacements for Moose's own "has". has_many has_one belongs_to The idea: fewer keystrokes and improved readability by self-documenting your class. METHODShas_oneWrapper around Moose's own "has", but allows for a shorter syntax:has_one 'name'; # isa=>'Any', is=>'rw' added has_one 'age' => 'Num'; # is=>'rw' added has_one 'age' => 'Num', default=>99; belongs_toIt's the same as using "has_one" from above. It exists to improve your code expressiveness.has_manyWraps the defined relationship with another class using "Mongoose::Join".This: has_many 'employees' => ( isa=>'Employee' ); # or has_many 'employees' => 'Employee'; Becomes this: has 'employees' => ( is => 'ro', isa => 'Mongoose::Join[Employee]', default => sub { Mongoose::Join->new( with_class=>'Employee' ) } );
Visit the GSP FreeBSD Man Page Interface. |