Dave Rolsky > Specio-0.07 > Specio::Constraint::AnyCan

Download:
Specio-0.07.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  1
View/Report Bugs
Module Version: 0.07   Source   Latest Release: Specio-0.08

NAME ^

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

VERSION ^

version 0.07

SYNOPSIS ^

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

DESCRIPTION ^

This is a specialized type constraint class for types which require a class name or 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::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.

ROLES ^

This class does the Specio::Constraint::Role::CanType, Specio::Constraint::Role::Interface, Specio::Role::Inlinable, and MooseX::Clone roles.

AUTHOR ^

Dave Rolsky <autarch@urth.org>

COPYRIGHT AND LICENSE ^

This software is Copyright (c) 2013 by Dave Rolsky.

This is free software, licensed under:

  The Artistic License 2.0 (GPL Compatible)
syntax highlighting: