NAME
   DBIx::Class::Schema::ResultSetAccessors - Short hand ResultSet Accessors

SYNOPSIS
     # in your schema class
     __PACKAGE__->load_components(qw/
         Schema::ResultSetAccessors
     /);
     __PACKAGE__->load_namespaces;

     # in your program
     use MyApp::Schema;
     my $schema = MyApp::Schema->connect(...);
     @artists = $schema->artists->all; # same as $schema->resultset('Artist')->all;

DESCRIPTION
   Creates short hand accessor methods for each ResultSet. Accessor names
   are properly converted into lowercase and pluralized. E.g.

    LinerNote -> liner_notes
    Artist    -> artists
    CD        -> cds

METHODS
 resultset_accessor_map
   Sometimes you will not want to, or will not be able to use an
   auto-generated accessor name. A common case would be when the accessor
   name conflicts with a built in DBIx::Class::Schema method. E.g. if you
   name your Result class "Source", a pluralized version of this would be
   "sources", which is a built in method.

   This method allows you to redefine the names as you wish. Overload this
   method in your schema class and return a hashref map of Source =>
   accessor names. E.g.:

    # in your MyApp::Schema class
    sub resultset_accessor_map {
       {
           Source => 'my_sources',
           Artist => 'my_artists',
       }
    }

    # later in your code
    $schema->my_sources->all;

 resultset_accessor_name($moniker)
   This method is used to generate the accessor names. If you wish to
   create your own logic for generating the name, you can overload this
   method. The method takes a moniker (aka Source name) as a parameter and
   returns the accessor name.

   Internally it simply uses String::CamelCase to decamelize the name and
   pass it to "pluralize_resultset_accessor_name" method.

 pluralize_resultset_accessor_name($decamelized_name)
   If you only wish to overload the pluralization of the accessor name, in
   case you want to add support for a language other than English, then you
   might only want to overload this method. The method accepts decamelized
   name (e.g. liner_note) and returns properly pluralized version of it.

SEE ALSO
   DBIx::Class
   String::CamelCase
   Lingua::EN::Inflect::Phrase

AUTHOR
    Roman F.
    [email protected]

COPYRIGHT
   Copyright (c) 2011 Roman F.

   This program is free software; you can redistribute it and/or modify it
   under the same terms as Perl itself.

   The full text of the license can be found in the LICENSE file included
   with this module.