Commit | Line | Data |
ea2e61bf |
1 | package DBIx::Class::CDBICompat::AccessorMapping; |
2 | |
3 | use strict; |
4 | use warnings; |
5 | |
6 | use NEXT; |
7 | |
8 | sub _mk_column_accessors { |
9 | my ($class, @cols) = @_; |
10 | unless ($class->can('accessor_name') || $class->can('mutator_name')) { |
11 | return $class->NEXT::_mk_column_accessors(@cols); |
12 | } |
13 | foreach my $col (@cols) { |
14 | my $ro_meth = ($class->can('accessor_name') |
15 | ? $class->accessor_name($col) |
16 | : $col); |
17 | my $wo_meth = ($class->can('mutator_name') |
18 | ? $class->mutator_name($col) |
19 | : $col); |
20 | if ($ro_meth eq $wo_meth) { |
21 | $class->mk_accessors($col); |
22 | } else { |
23 | $class->mk_ro_accessors($ro_meth); |
24 | $class->mk_wo_accessors($wo_meth); |
25 | } |
26 | } |
27 | } |
28 | |
29 | 1; |