Catalyst-Helper-Controller-DBIC-API-REST

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN


        The idea is to make configuration as painless and as automatic as possible, so most
        of the work has been done for you.
    
        There are 8 __PACKAGE__->config(...) options for L<Catalyst::Controller::DBIC::API/CONFIGURATION>.
        Here are the defaults.

 create_requires

        All non-nullable columns that are (1) not autoincrementing,
        (2) don't have a default value, are neither (3) nextvals,
        (4) sequences, nor (5) timestamps.

 create_allows

        All nullable columns that are (1) not autoincrementing,
        (2) don't have a default value, are neither (3) nextvals,
        (4) sequences, nor (5) timestamps.

 update_allows

        The union of create_requires and create_allows.

 list_returns

        Every column in the class.

 list_prefetch

        Nothing is prefetched by default.

 list_prefetch_allows

        (1) An arrayref consisting of the name of each of the class's
        has_many relationships, accompanied by (2) a hashref keyed on
        the name of that relationship, whose values are the names of
        its has_many's, e.g., in the "Producer" controller above, a
        Producer has many cd_to_producers, many tags, and many tracks.
        None of those classes have any has_many's:
    
        list_prefetch_allows    =>  [
            [qw/cd_to_producer/], { 'cd_to_producer'  => [qw//] },
            [qw/tags/],           { 'tags'            => [qw//] },
            [qw/tracks/],         { 'tracks'          => [qw//] },
        ],

 list_ordered_by

        The primary key.

 list_search_exposes

        (1) An arrayref consisting of the name of each column in the class,
        and (2) a hashref keyed on the name of each of the class's has many
        relationships, the values of which are all the columns in the
        corresponding class, e.g.,
    
        list_search_exposes => [
            qw/cdid artist title year/,
            { 'cd_to_producer' => [qw/cd producer/] },
            { 'tags'           => [qw/tagid cd tag/] },
            { 'tracks'         => [qw/trackid cd position title last_updated_on/] },
        ],    # columns that can be searched on via list

CONTROLLERBASE

        Following the advice in L<Catalyst::Controller::DBIC::API/EXTENDING>, this
        module creates an intermediate class between your controllers and
        L<Catalyst::Controller::DBIC::API::REST>.  It contains one method, create,
        which serializes object information and stores it in the stash, which is
        not the default behavior.

METHODS

 mk_compclass

        This is the meat of the helper. It writes the directory structure if it is
        not in place, API.pm, REST.pm, the controllerbase, and the result class
        controllers. It replaces $helper->{} values as it goes through, rendering
        the files for each.

AUTHOR

    Amiri Barksdale <amiri@roosterpirates.com>

CONTRIBUTORS

    Franck Cuny (lumberjaph) <franck@lumberjaph.net>

    Pablo Rodríguez González <pablo.rodriguez.gonzalez@gmail.com>

    Chris Weyl (RsrchBoy) <cweyl@alumni.drew.edu>

SEE ALSO

    Catalyst::Controller::DBIC::API Catalyst::Controller::DBIC::API::REST
    Catalyst::Controller::DBIC::API::RPC

LICENSE

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

NAME

    [% PACKAGE %] - REST Controller for [% schema_class %]

DESCRIPTION

    REST Methods to access the DBIC Result Class [% class_name %]

AUTHOR

    [% author %]

SEE ALSO

    Catalyst::Controller::DBIC::API Catalyst::Controller::DBIC::API::REST
    Catalyst::Controller::DBIC::API::RPC

LICENSE



( run in 1.061 second using v1.01-cache-2.11-cpan-5735350b133 )