MooseX::Types::DateTimUseruContributeMooseX::Types::DateTime::ButMaintained(3)NAMEMooseX::Types::DateTime::ButMaintained - DateTime related constraints
and coercions for Moose
SYNOPSIS
Export Example:
use MooseX::Types::DateTime qw(TimeZone);
has time_zone => (
isa => TimeZone
, is => "rw"
, coerce => 1
);
Class->new( time_zone => "Africa/Timbuktu" );
Class->new( time_zone => "CEST" );
Namespaced Example:
use MooseX::Types::DateTime;
has time_zone => (
isa => 'DateTime::TimeZone'
, is => "rw"
, coerce => 1
);
Class->new( time_zone => "Africa/Timbuktu" );
CONSTRAINTS
DateTime
A class type for DateTime.
from "Num"
Uses "from_epoch" in DateTime. Floating values will be used for
subsecond percision, see DateTime for details.
from "HashRef"
Calls "new" in DateTime with the hash entries as arguments.
Duration
A class type for DateTime::Duration
from "Num"
Uses "new" in DateTime::Duration and passes the number as the
"seconds" argument.
Note that due to leap seconds, DST changes etc this may not do
what you expect. For instance passing in 86400 is not always
equivalent to one day, although there are that many seconds in
a day. See "How Date Math is Done" in DateTime for more
details.
from "HashRef"
Calls "new" in DateTime::Duration with the hash entries as
arguments.
DateTime::Locale
A class type for DateTime::Locale::root with the name
DateTime::Locale.
from "Str"
The string is treated as a language tag (e.g. "en" or "he_IL")
and given to "load" in DateTime::Locale.
from Locale::Maktext
The "Locale::Maketext/language_tag" attribute will be used with
"load" in DateTime::Locale.
DateTime::TimeZone
A class type for DateTime::TimeZone, this now as of 0.05 coerces
from non-globally ambigious Olson abbreviations, using
Olson::Abbreviations. This won't work for abbreviations like "EST"
which are only unambigious if you know the locale. It will coerce
from abbreviations like "CEST" though.
from "Str"
Treated as a time zone name or offset. See "USAGE" in
DateTime::TimeZone for more details on the allowed values.
Delegates to "new" in DateTime::TimeZone with the string as the
"name" argument.
SEE ALSO
MooseX::Types::DateTimeX
DateTime
AUTHOR
Modern
Evan Carroll <me+cpan@evancarroll.com>
Yesteryear
Yuval Kogman <nothingmuch@woobling.org>
John Napiorkowski <jjn1056 at yahoo.com>
DESCRIPTION
This module packages several Moose::Util::TypeConstraints with
coercions, designed to work with the DateTime suite of objects.
This module started as a fork of MooseX::Types::DateTime. This history
and explaination is as follows: In Janurary 2009, I began a project to
bring DateTime::Format::* stuff up to date with Moose. I created a
framework that would greatly eliminate redundant code named
DateTimeX::Format. This project's adoption was slowed by then (and
still currently) bundeled package MooseX::Types::DateTime.
MooseX::Types::DateTime was a badly packaged extention of two modules
the self-titled MooseX::Types::DateTime, and another random module
MooseX::Types::DateTimeX. In Februrary of the same year, I repackaged
the module MooseX::Types::DateTimeX with the authors blessing into a
new package, for the purpose of removing its dependenices, namely
Date::Manip, from MooseX::Types::DateTime.
Unfortunately, this just added confusion. Now, as of the time of
writing MooseX::Types::DateTimeX is available as a package, and it is
available as a module which will be installed by
MooseX::Types::DateTime. The benefit of removing the dependency on
MooseX::Types::DateTime was never realized and the patch that updates
the dependencies, and the build system remains in rt still as of
writing.
This module is just the MooseX::Types::DateTime without the requirement
on DateTimeX::Easy (which requires DateTime::Manip). As of 0.05 this
module supports globally unique Olson abbreviations, and dies when they
are not globally unique.
COPYRIGHT
Copyright (c) 2008 Yuval Kogman. All rights reserved
This program is free software; you can redistribute
it and/or modify it under the same terms as Perl itself.
Modifications (c) 2009 Evan Carroll. All rights reserved
This program is free software; you can redistribute
it and/or modify it under the same terms as Perl itself.
perl v5.14.1200MooseX::Types::DateTime::ButMaintained(3)