[Jifty-commit] r2730 - in jifty/branches/virtual-models: lib lib/Jifty/Handle t/TestApp-DatabaseBackedModels/etc

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Mon Jan 29 10:05:49 EST 2007


Author: audreyt
Date: Mon Jan 29 10:05:48 2007
New Revision: 2730

Removed:
   jifty/branches/virtual-models/lib/Jifty/Handle/SVK.pm
Modified:
   jifty/branches/virtual-models/lib/Jifty.pm
   jifty/branches/virtual-models/lib/Jifty/Record/Versioned.pm
   jifty/branches/virtual-models/t/TestApp-DatabaseBackedModels/etc/config.yml

Log:
* Ditch Jifty::Handle::SVK in favour of the better-named Jifty::Record::Versioned.

Modified: jifty/branches/virtual-models/lib/Jifty.pm
==============================================================================
--- jifty/branches/virtual-models/lib/Jifty.pm	(original)
+++ jifty/branches/virtual-models/lib/Jifty.pm	Mon Jan 29 10:05:48 2007
@@ -120,9 +120,11 @@
     # Now that we've loaded the configuration, we can remove the temporary 
     # Jifty::DBI::Record baseclass for records and insert our "real" baseclass,
     # which is likely Record::Cachable or Record::Memcached
-    pop @Jifty::Record::ISA;
-    Jifty::Util->require( Jifty->config->framework('Database')->{'RecordBaseClass'});
-    push @Jifty::Record::ISA, Jifty->config->framework('Database')->{'RecordBaseClass'};
+    @Jifty::Record::ISA = grep { $_ ne 'Jifty::DBI::Record' } @Jifty::Record::ISA;
+
+    my $record_base_class = Jifty->config->framework('Database')->{'RecordBaseClass'};
+    Jifty::Util->require( $record_base_class );
+    push @Jifty::Record::ISA, $record_base_class unless $record_base_class eq 'Jifty::Record';
 
     Jifty->logger( Jifty::Logger->new( $args{'logger_component'} ) );
 

Modified: jifty/branches/virtual-models/lib/Jifty/Record/Versioned.pm
==============================================================================
--- jifty/branches/virtual-models/lib/Jifty/Record/Versioned.pm	(original)
+++ jifty/branches/virtual-models/lib/Jifty/Record/Versioned.pm	Mon Jan 29 10:05:48 2007
@@ -20,4 +20,25 @@
 use Jifty::Record;
 use base 'Jifty::DBI::Record';
 
+sub __create {
+    my ($self, %attribs) = @_;
+    my $uuid = ($attribs{__uuid} ||= Jifty::Util->generate_uuid);
+    my $rv = $self->SUPER::__create(%attribs);
+    if ($rv) {
+        # Write to SQL!
+        print YAML::Syck::Dump(\%attribs);
+    }
+    return $rv;
+}
+
+sub __set {
+    my $self = shift;
+    return $self->SUPER::__set(@_);
+}
+
+sub __delete {
+    my $self = shift;
+    return $self->SUPER::__set(@_);
+}
+
 1;

Modified: jifty/branches/virtual-models/t/TestApp-DatabaseBackedModels/etc/config.yml
==============================================================================
--- jifty/branches/virtual-models/t/TestApp-DatabaseBackedModels/etc/config.yml	(original)
+++ jifty/branches/virtual-models/t/TestApp-DatabaseBackedModels/etc/config.yml	Mon Jan 29 10:05:48 2007
@@ -9,8 +9,7 @@
     Driver: SQLite
     Host: localhost
     Password: ''
-    RecordBaseClass: Jifty::DBI::Record::Cachable
-    HandleClass: Jifty::Handle::SVK
+    RecordBaseClass: Jifty::Record::Versioned
     User: ''
     Version: 0.0.1
   DevelMode: 1


More information about the Jifty-commit mailing list