CatalystX::RoleApplicator - apply roles to your Catalyst application-related classes


CatalystX-RoleApplicator documentation Contained in the CatalystX-RoleApplicator distribution.

Index


Code Index:

NAME

Top

CatalystX::RoleApplicator - apply roles to your Catalyst application-related classes

VERSION

Top

version 0.005

SYNOPSIS

Top

    package MyApp;

    use base 'Catalyst';
    use Catalyst;
    use CatalystX::RoleApplicator;

    __PACKAGE__->apply_request_class_roles(
      qw/My::Request::Role Other::Request::Role/
    );

DESCRIPTION

Top

CatalystX::RoleApplicator makes it easy for you to apply roles to all the various classes that your Catalyst application uses.

METHODS

Top

apply_request_class_roles

apply_response_class_roles

apply_engine_class_roles

apply_dispatcher_class_roles

apply_stats_class_roles

Apply the named roles to one of the classes your application uses.

init_meta

Apply the Moose extensions that power this class.

AUTHOR

Top

  Hans Dieter Pearcey <hdp@cpan.org>

COPYRIGHT AND LICENSE

Top


CatalystX-RoleApplicator documentation Contained in the CatalystX-RoleApplicator distribution.

package CatalystX::RoleApplicator;
our $VERSION = '0.005';

# ABSTRACT: apply roles to your Catalyst application-related classes

use strict;
use warnings;
use Moose ();
use Moose::Util::MetaRole;
use Moose::Exporter;
use MooseX::RelatedClassRoles;

Moose::Exporter->setup_import_methods();

sub init_meta {
  my $self = shift;
  my %p = @_;
  my $meta = Moose->init_meta(%p);

  # leave out context_class because it's set later in Catalyst.pm instead of
  # up-front, so anyone who doesn't set it will get explosions; also, it's just
  # MyApp, most of the time, so add your own roles
  for (qw(request response engine dispatcher stats)) {
    Class::MOP::class_of('MooseX::RelatedClassRoles')
      ->apply($meta, name => $_, require_class_accessor => 0);
  }

  return $meta;
}

1;






__END__