Release 0.07047
[dbsrgits/DBIx-Class-Schema-Loader.git] / lib / DBIx / Class / Schema / Loader / RelBuilder / Compat / v0_040.pm
index adb5f30..547e750 100644 (file)
@@ -2,40 +2,35 @@ package DBIx::Class::Schema::Loader::RelBuilder::Compat::v0_040;
 
 use strict;
 use warnings;
-use Class::C3;
+use base 'DBIx::Class::Schema::Loader::RelBuilder::Compat::v0_05';
+use mro 'c3';
 
-use base 'DBIx::Class::Schema::Loader::RelBuilder';
-
-sub _to_PL {
-    my ($self, $name) = @_;
-
-    return Lingua::EN::Inflect::Number::to_PL($name);
-}
+our $VERSION = '0.07047';
 
 sub _relnames_and_method {
     my ( $self, $local_moniker, $rel, $cond, $uniqs, $counters ) = @_;
 
     my $remote_moniker = $rel->{remote_source};
-    my $remote_table   = $self->{schema}->source( $remote_moniker )->from;
+    my $remote_table   = $rel->{remote_table};
 
-    my $local_table = $self->{schema}->source($local_moniker)->from;
+    my $local_table = $rel->{local_table};
     my $local_cols  = $rel->{local_columns};
 
     # for single-column case, set the remote relname to just the column name
-    my $remote_relname =
+    my ($local_relname) =
         scalar keys %{$cond} == 1
             ? $self->_inflect_singular( values %$cond  )
             : $self->_inflect_singular( lc $remote_table );
 
     # If more than one rel between this pair of tables, use the local
     # col names to distinguish
-    my $local_relname;
+    my $remote_relname;
     if ($counters->{$remote_moniker} > 1) {
         my $colnames = '_' . join( '_', @$local_cols );
-        $remote_relname .= $colnames if keys %$cond > 1;
-        $local_relname = $self->_inflect_plural( lc($local_table) . $colnames );
+        $local_relname .= $colnames if keys %$cond > 1;
+        ($remote_relname) = $self->_inflect_plural( lc($local_table) . $colnames );
     } else {
-        $local_relname = $self->_inflect_plural(lc $local_table);
+        ($remote_relname) = $self->_inflect_plural(lc $local_table);
     }
 
     return ( $local_relname, $remote_relname, 'has_many' );
@@ -43,8 +38,6 @@ sub _relnames_and_method {
 
 sub _remote_attrs { }
 
-1;
-
 =head1 NAME
 
 DBIx::Class::Schema::Loader::RelBuilder::Compat::v0_040 - RelBuilder for
@@ -52,6 +45,18 @@ compatibility with DBIx::Class::Schema::Loader version 0.04006
 
 =head1 DESCRIPTION
 
-See L<DBIx::Class::Schema::Loader::Base/naming>.
+See L<DBIx::Class::Schema::Loader::Base/naming> and
+L<DBIx::Class::Schema::Loader::RelBuilder>.
+
+=head1 AUTHORS
+
+See L<DBIx::Class::Schema::Loader/AUTHORS>.
+
+=head1 LICENSE
+
+This library is free software; you can redistribute it and/or modify it under
+the same terms as Perl itself.
 
 =cut
+
+1;