CatalystX::Component::Traits man page on Pidora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Pidora logo
[printable version]

CatalystX::Component::UsertContributed Perl DocCatalystX::Component::Traits(3)

NAME
       CatalystX::Component::Traits - Automatic Trait Loading and Resolution
       for Catalyst Components

VERSION
       Version 0.16

SYNOPSIS
	   package Catalyst::Model::SomeModel;
	   with 'CatalystX::Component::Traits';

	   package MyApp::Model::MyModel;
	   use parent 'Catalyst::Model::SomeModel';

	   package MyApp;

	   __PACKAGE__->config('Model::MyModel' => {
	       traits => ['SearchedForTrait', '+Fully::Qualified::Trait']
	   });

DESCRIPTION
       Adds a "COMPONENT" in Catalyst::Component method to your Catalyst
       component base class that reads the optional "traits" parameter from
       app and component config and instantiates the component subclass with
       those traits using "new_with_traits" in MooseX::Traits from
       MooseX::Traits::Pluggable.

TRAIT SEARCH
       Trait names qualified with a "+" are taken to be full package names.

       Unqualified names are searched for, using the algorithm described
       below.

   EXAMPLE
       Suppose your inheritance hierarchy is:

	   MyApp::Model::MyModel
	   Catalyst::Model::CatModel
	   Catalyst::Model
	   Catalyst::Component
	   Moose::Object

       The configuration is:

	   traits => ['Foo']

       The package search order for "Foo" will be:

	   MyApp::TraitFor::Model::CatModel::Foo
	   Catalyst::TraitFor::Model::CatModel::Foo

   A MORE PATHOLOGICAL EXAMPLE
       For:

	   My::App::Controller::AController
	   CatalystX::Something::ControllerBase::SomeController
	   Catalyst::Controller
	   Catalyst::Model
	   Catalyst::Component
	   Moose::Object

       With:

	   traits => ['Foo']

       Search order for "Foo" will be:

	   My::App::TraitFor::Controller::SomeController::Foo
	   CatalystX::Something::TraitFor::Controller::SomeController::Foo

       The "Base" after (M|V|C) is automatically removed.

TRAIT MERGING
       Traits from component class config and app config are automatically
       merged if you set the "_trait_merge" attribute default, e.g.:

	   has '+_trait_merge' => (default => 1);

       You can remove component class config traits by prefixing their names
       with a "-" in the app config traits.

       For example:

	   package Catalyst::Model::Foo;
	   has '+_trait_merge' => (default => 1);
	   __PACKAGE__->config->{traits} = [qw/Foo Bar/];

	   package MyApp;
	   __PACKAGE__->config->{'Model::Foo'}{traits} = [qw/-Foo Baz/];

       Will load the traits:

	   Bar Baz

AUTHOR
       Rafael Kitover, "<rkitover@cpan.org>"

CONTRIBUTORS
       Tomas Doran, "<bobtfish@bobtfish.net>"

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

SUPPORT
       More information at:

       ·   RT: CPAN's request tracker

	   http://rt.cpan.org/NoAuth/Bugs.html?Dist=CatalystX-Component-Traits
	   <http://rt.cpan.org/NoAuth/Bugs.html?Dist=CatalystX-Component-
	   Traits>

       ·   AnnoCPAN: Annotated CPAN documentation

	   http://annocpan.org/dist/CatalystX-Component-Traits
	   <http://annocpan.org/dist/CatalystX-Component-Traits>

       ·   CPAN Ratings

	   http://cpanratings.perl.org/d/CatalystX-Component-Traits
	   <http://cpanratings.perl.org/d/CatalystX-Component-Traits>

       ·   Search CPAN

	   http://search.cpan.org/dist/CatalystX-Component-Traits/
	   <http://search.cpan.org/dist/CatalystX-Component-Traits/>

ACKNOWLEDGEMENTS
       Matt S. Trout and Tomas Doran helped me with the current design.

COPYRIGHT & LICENSE
       Copyright (c) 2009, Rafael Kitover

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

perl v5.14.1			  2010-08-26   CatalystX::Component::Traits(3)
[top]

List of man pages available for Pidora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net