X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FSerialize.pm;h=86e3d2f8b45948bde712ee1aa9e567ce8fdc0ca0;hb=a39e84a316835c1560df02133bb1d74d33336211;hp=b032ad91b24a84925762eb9871ffb00e713a7811;hpb=49354ee30ddd401e34070d845495aee220bd6574;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/Serialize.pm b/lib/DBIx/Class/Serialize.pm index b032ad9..86e3d2f 100644 --- a/lib/DBIx/Class/Serialize.pm +++ b/lib/DBIx/Class/Serialize.pm @@ -13,11 +13,38 @@ sub STORABLE_freeze { sub STORABLE_thaw { my ($self,$cloning,$serialized) = @_; %$self = %{ thaw($serialized) }; - no strict 'refs'; $self->result_source($self->result_source_instance); -# my $class = ${(ref $self) . '::ISA'}[0]; -# my $schema = $self->result_source_instance->schema; -# $self->result_source($schema->source($class)); } -1; \ No newline at end of file +1; + +__END__ + +=head1 NAME + + DBIx::Class::Serialize - hooks for Storable freeze/thaw (EXPERIMENTAL) + +=head1 SYNOPSIS + + # in a table class definition + __PACKAGE__->load_components(qw/Serialize/); + + # meanwhile, in a nearby piece of code + my $obj = $schema->resultset('Foo')->find(12); + $cache->set($obj->ID, $obj); # if the cache uses Storable, this will work automatically + +=head1 DESCRIPTION + +This component adds hooks for Storable so that row objects can be serialized. It assumes that +your row object class (C) is the same as your table class, which is the normal +situation. However, this code is not yet well tested, and so should be considered experimental. + +=head1 AUTHORS + +David Kamholz + +=head1 LICENSE + +You may distribute this code under the same terms as Perl itself. + +=cut