[Bast-commits] r3612 -
DBIx-Class/0.08/branches/cdbicompat_integration/lib/DBIx/Class/CDBICompat
matthewt at dev.catalyst.perl.org
matthewt at dev.catalyst.perl.org
Fri Jul 27 06:16:19 GMT 2007
Author: matthewt
Date: 2007-07-27 06:16:18 +0100 (Fri, 27 Jul 2007)
New Revision: 3612
Added:
DBIx-Class/0.08/branches/cdbicompat_integration/lib/DBIx/Class/CDBICompat/AbstractSearch.pm
DBIx-Class/0.08/branches/cdbicompat_integration/lib/DBIx/Class/CDBICompat/Copy.pm
DBIx-Class/0.08/branches/cdbicompat_integration/lib/DBIx/Class/CDBICompat/Iterator.pm
Log:
and my tradditional collection of missing add commands
Added: DBIx-Class/0.08/branches/cdbicompat_integration/lib/DBIx/Class/CDBICompat/AbstractSearch.pm
===================================================================
--- DBIx-Class/0.08/branches/cdbicompat_integration/lib/DBIx/Class/CDBICompat/AbstractSearch.pm (rev 0)
+++ DBIx-Class/0.08/branches/cdbicompat_integration/lib/DBIx/Class/CDBICompat/AbstractSearch.pm 2007-07-27 05:16:18 UTC (rev 3612)
@@ -0,0 +1,23 @@
+package # hide form PAUSE
+ DBIx::Class::CDBICompat::AbstractSearch;
+
+use strict;
+use warnings;
+
+# The keys are mostly the same.
+my %cdbi2dbix = (
+ limit => 'rows',
+);
+
+sub search_where {
+ my $class = shift;
+ my $where = (ref $_[0]) ? $_[0] : { @_ };
+ my $attr = (ref $_[0]) ? $_[1] : {};
+
+ # Translate the keys
+ $attr->{$cdbi2dbix{$_}} = delete $attr->{$_} for keys %cdbi2dbix;
+
+ return $class->resultset_instance->search($where, $attr);
+}
+
+1;
Added: DBIx-Class/0.08/branches/cdbicompat_integration/lib/DBIx/Class/CDBICompat/Copy.pm
===================================================================
--- DBIx-Class/0.08/branches/cdbicompat_integration/lib/DBIx/Class/CDBICompat/Copy.pm (rev 0)
+++ DBIx-Class/0.08/branches/cdbicompat_integration/lib/DBIx/Class/CDBICompat/Copy.pm 2007-07-27 05:16:18 UTC (rev 3612)
@@ -0,0 +1,21 @@
+package # hide from PAUSE
+ DBIx::Class::CDBICompat::Copy;
+
+use strict;
+use warnings;
+
+use Carp;
+
+# CDBI's copy will take an id in addition to a hash ref.
+sub copy {
+ my($self, $arg) = @_;
+ return $self->next::method($arg) if ref $arg;
+
+ my @primary_columns = $self->primary_columns;
+ croak("Need hash-ref to edit copied column values")
+ if @primary_columns > 1;
+
+ return $self->next::method({ $primary_columns[0] => $arg });
+}
+
+1;
Added: DBIx-Class/0.08/branches/cdbicompat_integration/lib/DBIx/Class/CDBICompat/Iterator.pm
===================================================================
--- DBIx-Class/0.08/branches/cdbicompat_integration/lib/DBIx/Class/CDBICompat/Iterator.pm (rev 0)
+++ DBIx-Class/0.08/branches/cdbicompat_integration/lib/DBIx/Class/CDBICompat/Iterator.pm 2007-07-27 05:16:18 UTC (rev 3612)
@@ -0,0 +1,28 @@
+package DBIx::Class::CDBICompat::Iterator;
+
+use strict;
+use warnings;
+
+sub _init_result_source_instance {
+ my $class = shift;
+
+ my $table = $class->next::method(@_);
+ $table->resultset_class("DBIx::Class::CDBICompat::Iterator::ResultSet");
+
+ return $table;
+}
+
+
+
+package DBIx::Class::CDBICompat::Iterator::ResultSet;
+
+use strict;
+use warnings;
+
+use base qw(DBIx::Class::ResultSet);
+
+sub _bool {
+ return $_[0]->count;
+}
+
+1;
More information about the Bast-commits
mailing list