MooseX::Types::DateTime::MoreCoercions(3pm)

MooseX::Types::DateTime::MoreCoercions3pm

Extensions to moosex::types::datetime

Usage

    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.

Version

version 0.15

Overview

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.

Contributors

•

Karen Etheridge <[email protected]>

•

Evan Carroll <[email protected]>

•

gregor herrmann <[email protected]>

Releases

7 releases since Debian 7 (Wheezy); the text changed 3 times.

  1. 7
  2. 8
  3. 9–11
  4. 12–13

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 <[email protected]>.

Authors

•

John Napiorkowski <[email protected]>

•

Dagfinn Ilmari Mannsaaker <[email protected]>

From libmoosex-types-datetime-morecoercions-perl 0.15-3 in Debian 13 (Trixie). Parsed by carta from the page's man source.