NAME
Mongoose::Role::Naming
DESCRIPTION
This role implement class to collection name methods for Mongoose objects.
naming
By default will compose the MongoDB collection name from your package name by replacing double-colon :: with underscores _, separating camel-case, such as aB with a_b and uppercase with lowercase letters.
This behaviour can be changed by choosing a named method or by setting the collection naming routine with a closure.
This are the available named methods:
 named method | package name          | collection
--------------+-----------------------+-----------------------
 short        | MyApp::Schema::FooBar | foobar
 plural       | MyApp::Schema::FooBar | foobars
 decamel      | MyApp::Schema::FooBar | foo_bar
 lower        | MyApp::Schema::FooBar | myapp::schema::foobar
 upper        | MyApp::Schema::FooBar | MYAPP::SCHEMA::FOOBAR
 undercolon   | MyApp::Schema::FooBar | myapp_schema_foobar
 default      | MyApp::Schema::FooBar | myapp_schema_foo_bar
 none         | MyApp::Schema::FooBar | MyApp::Schema::FooBar
You can choose a predefined naming method
Mongoose->naming( 'plural' );
... or combine them
Mongoose->naming( ['decamel','plural' ] );  # same as 'shorties'
If you set a closure it will receive the package name as it only parameter and should return the collection name.
# plain lowercase
Mongoose->naming( sub { lc(shift) } );