Catalyst::TraitFor::Model::DBIC::Shortcut - shortcuts support for DBIC models


Catalyst-TraitFor-Model-DBIC-Shortcut documentation  | view source Contained in the Catalyst-TraitFor-Model-DBIC-Shortcut distribution.

Index


NAME

Top

Catalyst::TraitFor::Model::DBIC::Shortcut - shortcuts support for DBIC models

VERSION

Top

Version 0.01

SYNOPSIS

Top

    #
    # application class
    #
    package TestApp;

    use Moose;
    use namespace::autoclean;
    use Catalyst qw/ ......... /;
    extends 'Catalyst';
    with 'Catalyst::TraitFor::Model::DBIC::Shortcut';




    #
    # controller class
    #
    package TestApp::Controller::Test;

    .........
        # these two calss are the same
        my $s = $c->model('DB')->schema;
        my $s = $c->db_schema;
    .........
        # these two calss are the same
        my $rs = $c->model('DB::Actor');
        my $rs = $c->db_actor_rs;
    .........




DESCRIPTION

Top

If you got tired of writting $c->model('DB::Actor') each time, or if you use auto-completion intensively, you could look at this trait. Just use this role in your application class, and you'll have shortcuts auto-created for all DBIx::Class-based models:

- schema

for all schema classes, based on Catalyst::Model::DBIC::Schema, you'll get method with name "lowercase class name" + "_schema", with all "::" converted to underscore ("_"):

    $c->model('DB')->schema         ==>     $c->db_schema
    $c->model('DBIC')->schema       ==>     $c->dbic_schema
    $c->model('DBIC::DB1')->schema  ==>     $c->dbic_db1_schema

- resultset

for all resultset classes, based on DBIx::Class, you'll get method with name "lowercase class name" + "_rs", with all "::" converted to underscore ("_"):

    $c->model('DB::Actor')          ==>     $c->db_actor_rs
    $c->model('DB::Track')          ==>     $c->db_track_rs
    $c->model('DBIC::DB1::Actor')   ==>     $c->dbic_db1_actor_rs

SEE ALSO

Top

Catalyst, DBIx::Class, Moose

SUPPORT

Top

* Report bugs or feature requests

http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Catalyst-TraitFor-Model-DBIC-Shortcut

http://www.assembla.com/spaces/Catalyst-TraitFor-Model-DBIC-Shortcut/tickets

* Git repository

git clone git://git.assembla.com/Catalyst-TraitFor-Model-DBIC-Shortcut.git

AUTHOR

Top

Oleg Kostyuk, <cub#cpan.org>

Based on ideas from from Pedro Melo and Oleg Pronin

http://lists.scsys.co.uk/pipermail/dbix-class/2010-January/008794.html

http://lists.scsys.co.uk/pipermail/dbix-class/2010-February/008903.html

COPYRIGHT & LICENSE

Top


Catalyst-TraitFor-Model-DBIC-Shortcut documentation  | view source Contained in the Catalyst-TraitFor-Model-DBIC-Shortcut distribution.