Catalyst-Helper-Controller-DBIC-API-REST
view release on metacpan or search on metacpan
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 )