logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Specio::Constraint::AnyCan - A class for constraints which require a class name or object with a set of

Api

       This class provides all of the same methods as Specio::Constraint::Simple, with a few differences:

   Specio::Constraint::AnyCan->new(...)
       The "parent" parameter is ignored if it passed, as it is always set to the "Defined" 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.

   $any_can->methods
       Returns an array reference containing the methods this constraint requires.

Author

       Dave Rolsky <autarch@urth.org>

Description

       This is a specialized type constraint class for types which require a class name or object with a defined
       set of methods.

Name

       Specio::Constraint::AnyCan - A class for constraints which require a class name or object with a set of
       methods

Roles

       This class does the Specio::Constraint::Role::IsaType, Specio::Constraint::Role::Interface, and
       Specio::Role::Inlinable roles.

Source

       The source code repository for Specio can be found at <https://github.com/houseabsolute/Specio>.

Support

       Bugs may be submitted at <https://github.com/houseabsolute/Specio/issues>.

Synopsis

           my $type = Specio::Constraint::AnyCan->new(...);
           print $_, "\n" for @{ $type->methods };

Version

       version 0.50

See Also