Inflating and deflating storable data
From ClassDBI
When using the output of Storable's nfreeze as data in Class::DBI, it will break.
You need to escape it, either uuencode, base64, or in this example URI escaping.
__PACKAGE__->add_trigger(before_update => sub {
my $obj = shift;
if ($obj->_unserialised_display_options) {
$obj->set( display_options => uri_escape(nfreeze($obj->_unserialised_display_options)) );
}
return;
});
__PACKAGE__->add_trigger(select => sub {
my $obj = shift;
if ($obj->display_options) {
$obj->set( _unserialised_display_options => thaw(uri_unescape($obj->display_options)) );
} else {
$obj->set( _unserialised_display_options => { } );
}
return;
});

