DBIC::MD5Columns

typoさんのUTF8Columns.pmからほぼパクリ


package DBIx::Class::MD5Columns;
use strict;
use warnings;
use base qw/DBIx::Class/;
use Digest::MD5 qw(md5_hex);
__PACKAGE__->mk_classdata( force_md5_columns => [] );
sub md5_columns {
my $self = shift;
for (@_) {
$self->throw_exception("column $_ doesn't exist")
unless $self->has_column($_);
}
$self->force_md5_columns( \@_ );
}
sub store_column {
my ( $self, $column, $value ) = @_;
if ( { map { $_ => 1 } @{ $self->force_md5_columns } }->{$column} ) {
$value = md5_hex($value);
}
$self->next::method( $column, $value );

}
1;