NAME
Specio::Constraint::ObjectCan - A class for constraints which require an object with a set of methods
VERSION
version 0.53
SYNOPSIS
my $type = Specio::Constraint::ObjectCan->new(...);
print $_, "\n" for @{ $type->methods };
DESCRIPTION
This is a specialized type constraint class for types which require an object with a defined set of methods.
API
This class provides all of the same methods as Specio::Constraint::Simple, with a few differences:
Specio::Constraint::ObjectCan->new( ... )
The parent parameter is ignored if it passed, as it is always set to the Object type.
The inline_generator and constraint parameters are also ignored. This class provides its own default inline generator subroutine reference.
This class overrides the message_generator default if none is provided.
Finally, this class requires an additional parameter, methods. This must be an array reference of method names which the constraint requires. You can also pass a single string and it will be converted to an array reference internally.
$object_can->methods
Returns an array reference containing the methods this constraint requires.
ROLES
This class does the Specio::Constraint::Role::CanType, Specio::Constraint::Role::Interface, and Specio::Role::Inlinable roles.
SUPPORT
Bugs may be submitted at https://github.com/houseabsolute/Specio/issues.
SOURCE
The source code repository for Specio can be found at https://github.com/houseabsolute/Specio.
AUTHOR
Dave Rolsky <autarch@urth.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2012 - 2025 by Dave Rolsky.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
The full text of the license can be found in the LICENSE file included with this distribution.