patch CDBI live object index emulation to use ->ID method, add tests for ->ID
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / CDBICompat / AttributeAPI.pm
CommitLineData
fe5d862b 1package DBIx::Class::CDBICompat::AttributeAPI;
2
3sub _attrs {
4 my ($self, @atts) = @_;
5 return @{$self->{_column_data}}{@atts};
6}
7
8*_attr = \&_attrs;
9
10sub _attribute_store {
11 my $self = shift;
12 my $vals = @_ == 1 ? shift: {@_};
13 my (@cols) = keys %$vals;
14 @{$self->{_column_data}}{@cols} = @{$vals}{@cols};
15}
16
17sub _attribute_set {
18 my $self = shift;
19 my $vals = @_ == 1 ? shift: {@_};
20 $self->set_column($_, $vals->{$_}) for keys %{$vals};
21}
22
23sub _attribute_delete {
24 my ($self, $attr) = @_;
25 delete $self->{_column_data}{$attr};
26}
27
28sub _attribute_exists {
29 my ($self, $attr) = @_;
30 exists $self->{_column_data}{$attr};
31}
32
331;