NAME
   DBICx::Modeler - A Moose-based model layer over DBIx::Class

VERSION
   Version 0.004

SYNOPSIS
       # Given the following schema:

       My::Schema::Artist
       My::Schema::Cd
       My::Schema::Track

       # ... and the following model:

       My::Model::Artist

       use DBICx::Modeler::Model

       My::Model::Cd ...
       My::Model::Track ...

       ...

       my $modeler = DBICx::Modeler->new( schema => ..., namespace => My::Model );

       my $artist = $modeler->create( Artist => { ... } ) # $artist is My::Model::Artist

       my $cd = $artist->create_related( cds => { ... } ) # $cd is My::Model::Cd

       ...

       my $search = $artist->cds( { title => ... } ) # Start a search ...
       $search->search( { ... } ) # Refine the search ...
       my @cds = $search->slice( 0, 9 ) # Get the first 10
                                        # Each is of type My::Model::Cd

DESCRIPTION
   DBICx::Modeler is tool for making a thin, Moose-based model layer over a
   DBIx::Class schema

CAVEAT EMPTOR
 Many-to-many is not handled
   Many-to-many relationships are ignored, for now. You'll have to access
   "_model__storage" (which is the DBIx::Class::Row) if you want to play
   with them

 The same storage object can be present in different model objects
       # With the following example:
       $artist->cds( ... )->slice( 0 )->artist # $artist and ->artist are different objects

   This shouldn't be too difficult to fix.

 The modeler will probably barf when trying to modify  immutable Model:: classes
   This shouldn't be too difficult to fix, either.

 Use "DBIC_MODELER" to trace modeler setup
   Set "DBIC_MODELER" to 1 if you want to trace what is going on in the
   modeler internally

       $ENV{DBIC_MODELER} = 1

METHODS
   DBICx::Modeler->new( ... )

       schema          The connected DBIx::Class schema to use/inspect

       namespace       The package containing the Moose classes that will mimic the class structure of <schema>

   $modeler->model( <moniker> )

       Return the model source for <moniker>

   $modeler->create( <moniker> => ... )

       Create a new row for <moniker> and return the modeled object

   $modeler->search( <moniker> => ... )

       Make a search of <moniker> that will inflate into modeled objects

AUTHOR
   Robert Krimen, "<rkrimen at cpan.org>"

BUGS
   Please report any bugs or feature requests to "bug-dbicx-modeler at
   rt.cpan.org", or through the web interface at
   <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=DBICx-Modeler>. I will
   be notified, and then you'll automatically be notified of progress on
   your bug as I make changes.

SUPPORT
   You can find documentation for this module with the perldoc command.

       perldoc DBICx::Modeler

   You can also look for information at:

   *   RT: CPAN's request tracker

       <http://rt.cpan.org/NoAuth/Bugs.html?Dist=DBICx-Modeler>

   *   AnnoCPAN: Annotated CPAN documentation

       <http://annocpan.org/dist/DBICx-Modeler>

   *   CPAN Ratings

       <http://cpanratings.perl.org/d/DBICx-Modeler>

   *   Search CPAN

       <http://search.cpan.org/dist/DBICx-Modeler/>

ACKNOWLEDGEMENTS
COPYRIGHT & LICENSE
   Copyright 2009 Robert Krimen, all rights reserved.

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