1Specio::Constraint::ObjUescetrDoCeosn(t3r)ibuted Perl DoScpuemceinot:a:tCioonnstraint::ObjectDoes(3)
2
3
4
6 Specio::Constraint::ObjectDoes - A class for constraints which require
7 an object that does a specific role
8
10 version 0.48
11
13 my $type = Specio::Constraint::ObjectDoes->new(...);
14 print $type->role;
15
17 This is a specialized type constraint class for types which require an
18 object that does a specific role.
19
21 This class provides all of the same methods as
22 Specio::Constraint::Simple, with a few differences:
23
24 Specio::Constraint::ObjectDoes->new( ... )
25 The "parent" parameter is ignored if it passed, as it is always set to
26 the "Defined" type.
27
28 The "inline_generator" and "constraint" parameters are also ignored.
29 This class provides its own default inline generator subroutine
30 reference.
31
32 This class overrides the "message_generator" default if none is
33 provided.
34
35 Finally, this class requires an additional parameter, "role". This must
36 be a single role name.
37
38 $object_isa->role
39 Returns the role name passed to the constructor.
40
42 This class does the Specio::Constraint::Role::DoesType,
43 Specio::Constraint::Role::Interface, and Specio::Role::Inlinable roles.
44
46 Bugs may be submitted at
47 <https://github.com/houseabsolute/Specio/issues>.
48
50 The source code repository for Specio can be found at
51 <https://github.com/houseabsolute/Specio>.
52
54 Dave Rolsky <autarch@urth.org>
55
57 This software is Copyright (c) 2012 - 2022 by Dave Rolsky.
58
59 This is free software, licensed under:
60
61 The Artistic License 2.0 (GPL Compatible)
62
63 The full text of the license can be found in the LICENSE file included
64 with this distribution.
65
66
67
68perl v5.38.0 2023-07-21 Specio::Constraint::ObjectDoes(3)