[Bast-commits] r4681 - in trunk/DBIx-Class-Journal: lib/DBIx/Class/Schema lib/DBIx/Class/Schema/Journal lib/DBIx/Class/Schema/Journal/DB t

nothingmuch at dev.catalyst.perl.org nothingmuch at dev.catalyst.perl.org
Wed Jul 30 06:04:21 BST 2008


Author: nothingmuch
Date: 2008-07-30 06:04:21 +0100 (Wed, 30 Jul 2008)
New Revision: 4681

Removed:
   trunk/DBIx-Class-Journal/lib/DBIx/Class/Schema/Journal/DB/Base.pm
Modified:
   trunk/DBIx-Class-Journal/lib/DBIx/Class/Schema/Journal.pm
   trunk/DBIx-Class-Journal/lib/DBIx/Class/Schema/Journal/DB.pm
   trunk/DBIx-Class-Journal/lib/DBIx/Class/Schema/Journal/DB/AuditHistory.pm
   trunk/DBIx-Class-Journal/lib/DBIx/Class/Schema/Journal/DB/AuditLog.pm
   trunk/DBIx-Class-Journal/t/02noautodeploy.t
Log:
remove Base

Modified: trunk/DBIx-Class-Journal/lib/DBIx/Class/Schema/Journal/DB/AuditHistory.pm
===================================================================
--- trunk/DBIx-Class-Journal/lib/DBIx/Class/Schema/Journal/DB/AuditHistory.pm	2008-07-30 04:53:27 UTC (rev 4680)
+++ trunk/DBIx-Class-Journal/lib/DBIx/Class/Schema/Journal/DB/AuditHistory.pm	2008-07-30 05:04:21 UTC (rev 4681)
@@ -1,15 +1,42 @@
 package DBIx::Class::Schema::Journal::DB::AuditHistory;
 
-use base 'DBIx::Class::Schema::Journal::DB::Base';
-__PACKAGE__->table(__PACKAGE__->table);
+use base 'DBIx::Class';
 
-__PACKAGE__->add_columns(
-                           audit_change_id => {
-                               data_type => 'integer',
-                               is_nullable => 0,
-                           });
-__PACKAGE__->belongs_to('change', 'DBIx::Class::Schema::Journal::DB::ChangeLog', 'audit_change_id');
+sub journal_define_table {
+    my ( $class, $source ) = @_;
 
+    $class->load_components(qw(Core));
+
+    $class->table($source->name . "_audit_log");
+    
+    $class->add_column( audit_change_id => {
+        data_type => 'integer',
+        is_nullable => 0,
+        is_primary_key => 1,
+    });
+
+    $class->set_primary_key("audit_change_id");
+
+    foreach my $column ( $source->columns ) {
+        my $info = $source->column_info($column);
+
+        my %hist_info = %$info;
+
+        delete $hist_info{$_} for qw(
+            is_foreign_key
+            is_primary_key
+            is_auto_increment
+            default_value
+        );
+        
+        $hist_info{is_nullable} = 1;
+
+        $class->add_column($column => \%hist_info);
+    }
+                           
+    $class->belongs_to('change', 'DBIx::Class::Schema::Journal::DB::ChangeLog', 'audit_change_id');
+}
+
 sub new
 {
     my ($self, $data, @rest) = @_;

Modified: trunk/DBIx-Class-Journal/lib/DBIx/Class/Schema/Journal/DB/AuditLog.pm
===================================================================
--- trunk/DBIx-Class-Journal/lib/DBIx/Class/Schema/Journal/DB/AuditLog.pm	2008-07-30 04:53:27 UTC (rev 4680)
+++ trunk/DBIx-Class-Journal/lib/DBIx/Class/Schema/Journal/DB/AuditLog.pm	2008-07-30 05:04:21 UTC (rev 4681)
@@ -7,7 +7,7 @@
 
     $class->load_components(qw(Core));
 
-    $class->table($source->name . "_audit_log");
+    $class->table($source->name . "_audit_history");
 
     $class->add_columns(
         create_id => {

Deleted: trunk/DBIx-Class-Journal/lib/DBIx/Class/Schema/Journal/DB/Base.pm
===================================================================
--- trunk/DBIx-Class-Journal/lib/DBIx/Class/Schema/Journal/DB/Base.pm	2008-07-30 04:53:27 UTC (rev 4680)
+++ trunk/DBIx-Class-Journal/lib/DBIx/Class/Schema/Journal/DB/Base.pm	2008-07-30 05:04:21 UTC (rev 4681)
@@ -1,9 +0,0 @@
-package DBIx::Class::Schema::Journal::DB::Base;
-
-use base 'DBIx::Class';
-
-__PACKAGE__->load_components(qw/Core/);
-__PACKAGE__->table('dummy');
-
-
-1;

Modified: trunk/DBIx-Class-Journal/lib/DBIx/Class/Schema/Journal/DB.pm
===================================================================
--- trunk/DBIx-Class-Journal/lib/DBIx/Class/Schema/Journal/DB.pm	2008-07-30 04:53:27 UTC (rev 4680)
+++ trunk/DBIx-Class-Journal/lib/DBIx/Class/Schema/Journal/DB.pm	2008-07-30 05:04:21 UTC (rev 4681)
@@ -7,13 +7,10 @@
 __PACKAGE__->mk_group_accessors( simple => 'current_session' );
 __PACKAGE__->mk_group_accessors( simple => '_current_changeset_container' );
 
-DBIx::Class::Schema::Journal::DB->load_classes(qw/
-                                               ChangeSet
-                                               ChangeLog
-                                               AuditHistory
-                                               /);
+DBIx::Class::Schema::Journal::DB->load_classes(qw(ChangeSet ChangeLog));
 
 require DBIx::Class::Schema::Journal::DB::AuditLog;
+require DBIx::Class::Schema::Journal::DB::AuditHistory;
 
 sub _current_changeset {
     my $self = shift;

Modified: trunk/DBIx-Class-Journal/lib/DBIx/Class/Schema/Journal.pm
===================================================================
--- trunk/DBIx-Class-Journal/lib/DBIx/Class/Schema/Journal.pm	2008-07-30 04:53:27 UTC (rev 4680)
+++ trunk/DBIx-Class-Journal/lib/DBIx/Class/Schema/Journal.pm	2008-07-30 05:04:21 UTC (rev 4681)
@@ -112,60 +112,22 @@
     $self->_journal_schema->deploy( $sqlt_args, @args );
 }
 
-sub get_audit_log_class_name
-{
-    my ($self, $sourcename) = @_;
-
-    return blessed($self->_journal_schema) . "::${sourcename}AuditLog";
-}
-
-sub get_audit_history_class_name
-{
-    my ($self, $sourcename) = @_;
-
-    return blessed($self->_journal_schema) . "::${sourcename}AuditHistory";
-}
-
 sub create_journal_for
 {
     my ($self, $s_name) = @_;
 
     my $source = $self->source($s_name);
-    my $logclass = $self->get_audit_log_class_name($s_name);
 
-    DBIx::Class::Componentised->inject_base($logclass, 'DBIx::Class::Schema::Journal::DB::AuditLog');
-    $logclass->journal_define_table($source);
+    foreach my $audit (qw(AuditLog AuditHistory)) {
+        my $audit_source = join("", $s_name, $audit);
+        my $class = blessed($self->_journal_schema) . "::$audit_source";
 
-    my $log_source = "${s_name}AuditLog";
-    $self->_journal_schema->register_class($log_source, $logclass);
-                           
+        DBIx::Class::Componentised->inject_base($class, "DBIx::Class::Schema::Journal::DB::$audit");
 
-    my $histclass = $self->get_audit_history_class_name($s_name);
-    DBIx::Class::Componentised->inject_base($histclass, 'DBIx::Class::Schema::Journal::DB::AuditHistory');
-    $histclass->table(lc($s_name) . "_audit_history");
-#    $histclass->result_source_instance->name(lc($s_name) . "_audit_hisory");
+        $class->journal_define_table($source);
 
-    foreach my $column ( $source->columns ) {
-        my $info = $source->column_info($column);
-
-        my %hist_info = %$info;
-
-        delete $hist_info{$_} for qw(
-            is_foreign_key
-            is_primary_key
-            is_auto_increment
-            default_value
-        );
-        
-        $hist_info{is_nullable} = 1;
-
-        $histclass->add_column($column => \%hist_info);
+        $self->_journal_schema->register_class($audit_source, $class);
     }
-                           
-    my $hist_source = "${s_name}AuditHistory";
-    $self->_journal_schema->register_class($hist_source, $histclass);
-
-    return ( $log_source, $hist_source );
 }
 
 sub txn_do

Modified: trunk/DBIx-Class-Journal/t/02noautodeploy.t
===================================================================
--- trunk/DBIx-Class-Journal/t/02noautodeploy.t	2008-07-30 04:53:27 UTC (rev 4680)
+++ trunk/DBIx-Class-Journal/t/02noautodeploy.t	2008-07-30 05:04:21 UTC (rev 4681)
@@ -21,7 +21,7 @@
 isa_ok($schema->_journal_schema->source('ArtistAuditLog'), 'DBIx::Class::ResultSource', 'ArtistAuditLog source exists');
 
 my $count = eval { 
-    $schema->_journal_schema->resultset('ArtistAuditLog')->count;
+    $schema->_journal_schema->resultset('ArtistAuditHistory')->count;
 };
 my $e = $@;
 
@@ -30,7 +30,7 @@
 
 $schema->journal_schema_deploy();
 
-$count = eval { $schema->_journal_schema->resultset('ArtistAuditLog')->count };
+$count = eval { $schema->_journal_schema->resultset('ArtistAuditHistory')->count };
 
 is( $@, '', "no error" );
 is( $count, 0, "count is 0" );




More information about the Bast-commits mailing list