Type::Tiny::Role
Section: User Contributed Perl Documentation (3pm)
Updated: 2023-02-01
Index
Return to Main Contents
NAME
Type::Tiny::Role - type constraints based on the "DOES" method
STATUS
This module is covered by the
Type-Tiny stability policy.
DESCRIPTION
Type constraints of the general form "{ $_->DOES("Some::Role") }".
This package inherits from Type::Tiny; see that for most documentation.
Major differences are listed below:
Attributes
- "role"
-
The role for the constraint.
Note that this package doesn't subscribe to any particular flavour of roles
(Moose::Role, Mouse::Role, Moo::Role, Role::Tiny, etc). It simply
trusts the object's "DOES" method (see UNIVERSAL).
- "constraint"
-
Unlike Type::Tiny, you cannot pass a constraint coderef to the constructor.
Instead rely on the default.
- "inlined"
-
Unlike Type::Tiny, you cannot pass an inlining coderef to the constructor.
Instead rely on the default.
- "parent"
-
Parent is always Types::Standard::Object, and cannot be passed to the
constructor.
Methods
- "stringifies_to($constraint)"
-
See Type::Tiny::ConstrainedObject.
- "numifies_to($constraint)"
-
See Type::Tiny::ConstrainedObject.
- "with_attribute_values($attr1 => $constraint1, ...)"
-
See Type::Tiny::ConstrainedObject.
Exports
Type::Tiny::Role can be used as an exporter.
use Type::Tiny::Role 'MyApp::Printable';
This will export the following functions into your namespace:
- "MyAppPrintable"
-
- "is_MyAppPrintable( $value )"
-
- "assert_MyAppPrintable( $value )"
-
- "to_MyAppPrintable( $value )"
-
Multiple types can be exported at once:
use Type::Tiny::Role qw( MyApp::Printable MyApp::Sendable );
BUGS
Please report any bugs to
<https://github.com/tobyink/p5-type-tiny/issues>.
SEE ALSO
Type::Tiny::Manual.
Type::Tiny.
Moose::Meta::TypeConstraint::Role.
AUTHOR
Toby Inkster <tobyink@cpan.org>.
COPYRIGHT AND LICENCE
This software is copyright (c) 2013-2014, 2017-2023 by Toby Inkster.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
DISCLAIMER OF WARRANTIES
THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Index
- NAME
-
- STATUS
-
- DESCRIPTION
-
- Attributes
-
- Methods
-
- Exports
-
- BUGS
-
- SEE ALSO
-
- AUTHOR
-
- COPYRIGHT AND LICENCE
-
- DISCLAIMER OF WARRANTIES
-
This document was created by
man2html,
using the manual pages.
Time: 07:08:56 GMT, May 18, 2024