Hallo Perl-Community,
ich verwende eine Wrapperfunktion für etwas, das zu kompliziert für einen einfachen
DBIx::Class::ResultSet->update_or_create(...) Aufruf ist, aber im Grunde macht er nichts anderes. Daher habe ich überlegt, ob ich diese Funktion einfach update_or_create() nenne. Dagegen spricht leider nicht nur, dass meine Methode andere Argumente erwartet als die originale von DBIx::Class, daher Verwirrung stiften könnte. Sondern es ist auch so, dass meine Methode gar keinen Datensatz erstellen kann, sondern sich auf ein zuvor – zweitrangig ob durch find() oder new() oder find_or_new() – initialisiertes DBIx::Class-Objekt verlässt.
my $taskset = User::Tasks->new({ user_id => "ich" });
my %data = (...)
my $existing_task = $taskset->get_task("foo");
my $new_task = $taskset->new_task("bar");
$_->noch_zubenennende_methode(\%data)
for $existing_task, $new_task;
Die Methode bekommt noch eine Schwester zur Seite gestellt, die statt einem Hash einen String erwartet, der die lesbar serialisierte Datenstruktur enthält.
Meine Ideen waren bisher:
- from_hash und from_string
- ingest() und ingest_string()
- write_to_db() – nimmt sowohl Hash als auch String entgegen
Irgendwie nicht das Wahre. Bessere Tipps? Dachte mir, ihr kennt bestimmt CPAN-Module mit vergleichbarer API ...
Viele Grüße
flowdy
package MyClass; sub new {\b\b\b\b\b\b\b\b\buse Moose;