Merge HasA, HasMany and MightHave into one file, Relationships, for easier
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / CDBICompat / Relationship.pm
1 package
2     DBIx::Class::CDBICompat::Relationship;
3
4 use strict;
5 use warnings;
6
7
8 =head1 NAME
9
10 DBIx::Class::CDBICompat::Relationship
11
12 =head1 DESCRIPTION
13
14 Emulate the Class::DBI::Relationship object returned from C<meta_info()>.
15
16 =cut
17
18 my %method2key = (
19     name            => 'type',
20     class           => 'self_class',
21     accessor        => 'accessor',
22     foreign_class   => 'class',
23 );
24
25 sub new {
26     my($class, $args) = @_;
27     
28     return bless $args, $class;
29 }
30
31 for my $method (keys %method2key) {
32     my $key = $method2key{$method};
33     my $code = sub {
34         $_[0]->{$key};
35     };
36     
37     no strict 'refs';
38     *{$method} = $code;
39 }
40
41 sub args {
42     warn "args() is unlikely to ever work";
43     return undef;
44 }
45
46
47 1;