Release 0.07047
[dbsrgits/DBIx-Class-Schema-Loader.git] / lib / DBIx / Class / Schema / Loader / RelBuilder / Compat / v0_05.pm
index c6d3ec7..9e932d6 100644 (file)
@@ -2,12 +2,13 @@ package DBIx::Class::Schema::Loader::RelBuilder::Compat::v0_05;
 
 use strict;
 use warnings;
-use Class::C3;
-use base 'DBIx::Class::Schema::Loader::RelBuilder';
-use Carp::Clan qw/^DBIx::Class/;
+use base 'DBIx::Class::Schema::Loader::RelBuilder::Compat::v0_06';
+use mro 'c3';
+use DBIx::Class::Schema::Loader::Utils 'array_eq';
+use namespace::clean;
 use Lingua::EN::Inflect::Number ();
 
-our $VERSION = '0.06000';
+our $VERSION = '0.07047';
 
 sub _to_PL {
     my ($self, $name) = @_;
@@ -29,35 +30,35 @@ sub _relnames_and_method {
     my $remote_moniker = $rel->{remote_source};
     my $remote_obj     = $self->{schema}->source( $remote_moniker );
     my $remote_class   = $self->{schema}->class(  $remote_moniker );
-    my $remote_relname = $self->_remote_relname( $remote_obj->from, $cond);
+    my $local_relname  = $self->_local_relname( $rel->{remote_table}, $cond);
 
     my $local_cols  = $rel->{local_columns};
-    my $local_table = $self->{schema}->source($local_moniker)->from;
+    my $local_table = $rel->{local_table};
 
     # If more than one rel between this pair of tables, use the local
     # col names to distinguish
-    my ($local_relname, $local_relname_uninflected);
+    my ($remote_relname, $remote_relname_uninflected);
     if ( $counters->{$remote_moniker} > 1) {
         my $colnames = lc(q{_} . join(q{_}, map lc($_), @$local_cols));
-        $remote_relname .= $colnames if keys %$cond > 1;
+        $local_relname .= $colnames if keys %$cond > 1;
 
-        $local_relname = lc($local_table) . $colnames;
+        $remote_relname = lc($local_table) . $colnames;
 
-        $local_relname_uninflected = $local_relname;
-        $local_relname = $self->_inflect_plural( $local_relname );
+        $remote_relname_uninflected = $remote_relname;
+        ($remote_relname) = $self->_inflect_plural( $remote_relname );
     } else {
-        $local_relname_uninflected = lc $local_table;
-        $local_relname = $self->_inflect_plural(lc $local_table);
+        $remote_relname_uninflected = lc $local_table;
+        ($remote_relname) = $self->_inflect_plural(lc $local_table);
     }
 
     my $remote_method = 'has_many';
 
     # If the local columns have a UNIQUE constraint, this is a one-to-one rel
     my $local_source = $self->{schema}->source($local_moniker);
-    if ($self->_array_eq([ $local_source->primary_columns ], $local_cols) ||
-            grep { $self->_array_eq($_->[1], $local_cols) } @$uniqs) {
+    if (array_eq([ $local_source->primary_columns ], $local_cols) ||
+            grep { array_eq($_->[1], $local_cols) } @$uniqs) {
         $remote_method = 'might_have';
-        $local_relname = $self->_inflect_singular($local_relname_uninflected);
+        ($remote_relname) = $self->_inflect_singular($remote_relname_uninflected);
     }
 
     return ( $local_relname, $remote_relname, $remote_method );
@@ -66,16 +67,16 @@ sub _relnames_and_method {
 =head1 NAME
 
 DBIx::Class::Schema::Loader::RelBuilder::Compat::v0_05 - RelBuilder for
-compatibility with DBIx::Class::Schema::Loader version 0.05000
+compatibility with DBIx::Class::Schema::Loader version 0.05003
 
 =head1 DESCRIPTION
 
 See L<DBIx::Class::Schema::Loader::Base/naming> and
 L<DBIx::Class::Schema::Loader::RelBuilder>.
 
-=head1 AUTHOR
+=head1 AUTHORS
 
-See L<DBIx::Class::Schema::Loader/AUTHOR> and L<DBIx::Class::Schema::Loader/CONTRIBUTORS>.
+See L<DBIx::Class::Schema::Loader/AUTHORS>.
 
 =head1 LICENSE