Class::DBI::Plugin::TimePiece - Extension to Class::DBI for DB date type.


Class-DBI-Plugin-TimePiece documentation Contained in the Class-DBI-Plugin-TimePiece distribution.

Index


Code Index:

NAME

Top

Class::DBI::Plugin::TimePiece - Extension to Class::DBI for DB date type.

VERSION

Top

This documentation refers to Class::DBI::Plugin::TimePiece version 0.01

SYNOPSIS

Top

  __PACKAGE__->has_a_timepiece( INS_DATE => '%y/%m/%d %H:%M:%S' );
  __PACKAGE__->has_a_tp( UPDATE_DATE => '%y/%m/%d %H:%M:%S' );

DESCRIPTION

Top

This module is Extensionto Class::DBI for DB date type.

METHOD

Top

has_a_timepiece

This method relation to DB date type.

  __PACKAGE__->has_a_timepiece( INS_DATE => '%y/%m/%d %H:%M:%S' );

has_a_tp

has_a_tp is has_a_timepiece's alias.

  __PACKAGE__->has_a_tp( UPDATE_DATE => '%y/%m/%d %H:%M:%S' );

DEPENDENCIES

Top

Carp, Time::Piece

SEE ALSO

Top

Carp, Time::Piece

BUGS AND LIMITATIONS

Top

There are no known bugs in this module. Please report problems to Atsushi Kobayashi (<nekokak@cpan.org>) Patches are welcome.

AUTHOR

Top

Atsushi Kobayashi, <nekokak@cpan.org>

COPYRIGHT AND LICENSE

Top


Class-DBI-Plugin-TimePiece documentation Contained in the Class-DBI-Plugin-TimePiece distribution.

package Class::DBI::Plugin::TimePiece;

use strict;
use warnings;
use Carp;

use vars '$VERSION';

$VERSION = '0.01';

sub import {
    my $class = shift;
    my $pkg   = caller(0);

    no strict 'refs';
    *{"$pkg\::has_a_timepiece"} = sub {
        my $self   = shift;
        my $colum  = shift;
        my $format = shift;

        $self->has_a(
            $colum  => 'Time::Piece',
            inflate => sub { Time::Piece->strptime(shift , $format ) },
            deflate => sub { shift->strftime($format) },
        );
    };
    *{"$pkg\::has_a_tp"} = *{"$pkg\::has_a_timepiece"};
}

1;
__END__