/usr/share/perl5/DBIx/Class/Schema/Loader/RelBuilder/Compat/v0_05.pm is in libdbix-class-schema-loader-perl 0.07042-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | package DBIx::Class::Schema::Loader::RelBuilder::Compat::v0_05;
use strict;
use warnings;
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.07042';
sub _to_PL {
my ($self, $name) = @_;
return Lingua::EN::Inflect::Number::to_PL($name);
}
sub _to_S {
my ($self, $name) = @_;
return Lingua::EN::Inflect::Number::to_S($name);
}
sub _default_relationship_attrs { +{} }
sub _relnames_and_method {
my ( $self, $local_moniker, $rel, $cond, $uniqs, $counters ) = @_;
my $remote_moniker = $rel->{remote_source};
my $remote_obj = $self->{schema}->source( $remote_moniker );
my $remote_class = $self->{schema}->class( $remote_moniker );
my $local_relname = $self->_local_relname( $rel->{remote_table}, $cond);
my $local_cols = $rel->{local_columns};
my $local_table = $rel->{local_table};
# If more than one rel between this pair of tables, use the local
# col names to distinguish
my ($remote_relname, $remote_relname_uninflected);
if ( $counters->{$remote_moniker} > 1) {
my $colnames = lc(q{_} . join(q{_}, map lc($_), @$local_cols));
$local_relname .= $colnames if keys %$cond > 1;
$remote_relname = lc($local_table) . $colnames;
$remote_relname_uninflected = $remote_relname;
($remote_relname) = $self->_inflect_plural( $remote_relname );
} else {
$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 (array_eq([ $local_source->primary_columns ], $local_cols) ||
grep { array_eq($_->[1], $local_cols) } @$uniqs) {
$remote_method = 'might_have';
($remote_relname) = $self->_inflect_singular($remote_relname_uninflected);
}
return ( $local_relname, $remote_relname, $remote_method );
}
=head1 NAME
DBIx::Class::Schema::Loader::RelBuilder::Compat::v0_05 - RelBuilder for
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
See L<DBIx::Class::Schema::Loader/AUTHOR> and L<DBIx::Class::Schema::Loader/CONTRIBUTORS>.
=head1 LICENSE
This library is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.
=cut
1;
|