NAME¶
MooseX::Types::DateTime::MoreCoercions - Extensions to MooseX::Types::DateTime
VERSION¶
version 0.14
SYNOPSIS¶
package MyApp::MyClass;
use MooseX::Types::DateTime::MoreCoercions qw( DateTime );
has created => (
isa => DateTime,
is => "rw",
coerce => 1,
);
my $instance = MyApp::MyClass->new(created=>'January 1, 1980');
print $instance->created->year; # is 1980
## Coercions from the base type continue to work as normal.
my $instance = MyApp::MyClass->new(created=>{year=>2000,month=>1,day=>10});
Please see the test case for more example usage.
DESCRIPTION¶
This module builds on MooseX::Types::DateTime to add additional custom types and
coercions. Since it builds on an existing type, all coercions and constraints
are inherited.
SUBTYPES¶
This module defines the following additional subtypes.
DateTime¶
Subtype of "DateTime" in MooseX::Types::DateTime. Adds an additional
coercion from strings.
Uses DateTimeX::Easy to try and convert strings, like "yesterday" into
a valid DateTime object. Please note that due to ambiguity with how different
systems might localize their timezone, string parsing may not always return
the most expected value. IN general we try to localize to UTC whenever
possible. Feedback welcomed!
Duration¶
Subtype of "Duration" in MooseX::Types::DateTime that coerces from a
string. We use the module Time::Duration::Parse to attempt this.
CAVEATS¶
Firstly, this module uses DateTimeX::Easy which is way more DWIM than any sane
person would desire. DateTimeX::Easy works by falling back until something
makes sense, this is variable. Furthermore, all the modules that
DateTimeX::Easy *can* use aren't required for "proper" function of
DateTimeX::Easy. What does this mean? Simple, your mileage may vary in your
coercions because DateTimeX::Easy is installation specific.
SEE ALSO¶
- •
- MooseX::Types::DateTime Replacement for this module -- coercions with less
voodoo
- •
- DateTimeX::Easy Backend of this module
- •
- Time::Duration::Parse Duration parsing backend for this module
AUTHOR¶
John Napiorkowski <jjn1056 at yahoo.com>
Broken into a separate package from MooseX::Types::DateTime by Evan Carroll.
Forked from MooseX::Types::DateTimeX and ported back to use
MooseX::Types::DateTime by Dagfinn Ilmari Mannsaaker
<ilmari@ilmari.org>.
AUTHORS¶
- •
- John Napiorkowski <jjn1056@yahoo.com>
- •
- Dagfinn Ilmari Mannsaaker <ilmari@ilmari.org>
COPYRIGHT AND LICENSE¶
This software is copyright (c) 2008 by John Napiorkowski.
This is free software; you can redistribute it and/or modify it under the same
terms as the Perl 5 programming language system itself.
CONTRIBUTORS¶
- •
- Dagfinn Ilmari Mannsaaker <ilmari@photobox.com>
- •
- Evan Carroll <me+cpan@evancarroll.com>
- •
- Evan Carroll <me@evancarroll.com>
- •
- Karen Etheridge <ether@cpan.org>
- •
- gregor herrmann <gregoa@debian.org>
- •
- root <root@x60s.(none)>