---
name: "Mason::Component::Moose"
section: "3pm"
platform: "linux"
package: "libmason-perl"
version: "2.24-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Mason::Component::Moose"
---

# Mason::Component::Moose(3pm)

Moose policies and exports for Mason components

## NAME

Mason::Component::Moose - Moose policies and exports for Mason components

## DESCRIPTION

This module is automatically included in each generated Mason component class, and is equivalent to

```
    use CLASS;
    use Moose;
    use MooseX::HasDefaults::RW;
    use Method::Signatures::Simple;
```

## OVERRIDING

To override the default behavior, subclass this class and specify it as `"base_component_moose_class"` to Mason::Interp.

For example, to use MooseX::StrictConstructor in every component:

```
    package My::Mason::Component::Moose;
    use Moose::Exporter;
    use MooseX::StrictConstructor ();
    use base qw(Mason::Component::Moose);
    sub init_meta {
        my $class = shift;
        $class->SUPER::init_meta(@_);
        MooseX::StrictConstructor->init_meta(@_);
    }
    ...
    my $interp = Mason::Interp->new(..., base_component_moose_class => 'My::Mason::Component::Moose');
```

## SEE ALSO

Mason

## AUTHOR

Jonathan Swartz \<swartz@pobox.com\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Jonathan Swartz.

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