The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

CatalystX::Resource - Provide CRUD functionality to your Controllers

VERSION

version 0.003_001

SYNOPSIS

    use Catalyst qw/
        +CatalystX::Resource
    /;

    __PACKAGE__->config(
        'Controller::Resource::Artist' => {
            resultset_key => 'artists_rs',
            resources_key => 'artists',
            resource_key => 'artist',
            form_class => 'TestApp::Form::Resource::Artist',
            model => 'DB::Resource::Artist',
            error_path => '/error',
            actions => {
                base => {
                    PathPart => 'artists',
                },
            },
        },
        'CatalystX::Resource' => {
            controllers => [ qw/ Artist / ],
         },
     );

DESCRIPTION

CatalystX::Resource enhances your App with CRUD functionality.

After creating files for HTML::FormHandler, DBIx::Class and Template Toolkit templates you get create/edit/delete/show/list actions for free.

Resources can be nested. (e.g.: Artist has_many Albums)

You can remove actions if you don't need them.

Example, you don't need the edit action: 'Controller::Resource::Artist' => { ..., traits => ['-Edit'], },

Using the Sortable trait your resources are sortable: 'Controller::Resource::Artist' => { ..., traits => ['Sortable'], },

CONFIG

controllers

array ref of controller names which will be injected into your app

error_path

where to detach to in case of an error (default: '/default')

CAVEAT

CatalystX::Resource detaches to $self->error_path if a resource cannot be found. Make sure you implement this action in your App. (default: '/default')

SEE ALSO

Check out Catalyst::Controller::DBIC::API if you want to provide your data as a web service.

AUTHOR

David Schmidt <davewood@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2011 by David Schmidt.

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