NAME
MooseX::Types::Stringlike - 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.
SEE ALSO
ACKNOWLEDGMENTS
Thank you to Dagfinn Ilmari Mannså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 <dagolden@cpan.org>
CONTRIBUTOR
Karen Etheridge <ether@cpan.org>
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