MooseX::Types::Stringlike(3) Moose type constraints for strings or string-like objects

VERSION

version 0.003

SYNOPSIS


package Foo;
use Moose;
use MooseX::Types::Stringlike qw/Stringlike Stringable ArrayRefOfStringlike ArrayRefOfStringable/;
has path => (
is => 'ro',
isa => Stringlike,
coerce => 1
);
has stringable_object => (
is => 'ro',
isa => Stringable,
);
has paths => (
is => 'ro',
isa => ArrayRefOfStringlike,
coerce => 1
);
has stringable_objects => (
is => 'ro',
isa => ArrayRefOfStringable,
);

DESCRIPTION

This module provides a more general version of the "Str" type. If coercions are enabled, it will accepts objects that overload stringification and coerces them into strings.

SUBTYPES

This module uses MooseX::Types to define the following subtypes.

Stringlike

"Stringlike" is a subtype of "Str". It can coerce "Stringable" objects into a string.

Stringable

"Stringable" is a subtype of "Object" where the object has overloaded stringification.

ArrayRefOfStringlike

"ArrayRefStringlike" is a subtype of "ArrayRef[Str]". It can coerce "ArrayRefOfStringable" objects into an arrayref of strings.

ArrayRefOfStringable

"ArrayRefOfStringable" is a subtype of "ArrayRef[Object]" where the objects have overloaded stringification.

ACKNOWLEDGMENTS

Thank you to Dagfinn Ilmari Mannsa┬░ker for the idea on IRC that led to this module.

SUPPORT

Bugs / Feature Requests

Please report any bugs or feature requests through the issue tracker at <https://github.com/dagolden/MooseX-Types-Stringlike/issues>. You will be notified automatically of any progress on your issue.

Source Code

This is open source software. The code repository is available for public review and contribution under the terms of the license.

<https://github.com/dagolden/MooseX-Types-Stringlike>

  git clone https://github.com/dagolden/MooseX-Types-Stringlike.git

AUTHOR

David Golden <[email protected]>

CONTRIBUTOR

Karen Etheridge <[email protected]>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2012 by David Golden.

This is free software, licensed under:

  The Apache License, Version 2.0, January 2004