> thanks again for this, svilen. > > i took what you posted, plus the followups from jsiracusa, and got > something going. your code was very helpful. > > i made some slight adjustments, notably calling $class->freeze/thaw > in the methodmaker, and implementing those as class methods there. > > that allowed me to do something like: > > package My::MethodMaker::Serialized::JSON; > use base 'My::MethodMaker::Serialized'; > use JSON; > sub freeze { JSON->new->objToJson($_[1]) } > sub thaw { JSON->new(skipinvalid => 1)->jsonToObj($_[1]) } > 1; > > package My::MethodMaker::Serialized::YAML; > use base 'My::MethodMaker::Serialized'; > use YAML::Syck(); > sub freeze { YAML::Syck::Dump($_[1]) } > sub thaw { YAML::Syck::Load($_[1]) } > 1; > > package My::MethodMaker::Serialized::Storable; > use base 'My::MethodMaker::Serialized'; > use Storable(); > sub freeze { Storable::freeze($_[1]) } > sub thaw { Storable::thaw($_[1]) } > 1; > > add some little My::Column::Serialized::* wrappers to do the > method_maker_class/type bits, plus this in My::MetaData > > __PACKAGE__->column_type_class(serialized_storable => > 'Plex::RDBO::_serialized_storable_column'); > __PACKAGE__->column_type_class(serialized_yaml => > 'Plex::RDBO::_serialized_yaml_column'); > __PACKAGE__->column_type_class(serialized_json => > 'Plex::RDBO::_serialized_json_column');
er, __PACKAGE__->column_type_class(serialized_storable => 'My::Column::Serialized::Storable'); __PACKAGE__->column_type_class(serialized_yaml => 'My::Column::Serialized::YAML'); __PACKAGE__->column_type_class(serialized_json => 'My::Column::Serialized::JSON'); do not fear my crazy actual package names i exposed up there :) ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Rose-db-object mailing list Rose-db-object@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rose-db-object