missed a couple things
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / CDBICompat / AttributeAPI.pm
CommitLineData
c0e7b4e5 1package # hide from PAUSE
2 DBIx::Class::CDBICompat::AttributeAPI;
fe5d862b 3
bf5ecff9 4use strict;
5use warnings;
6
fe5d862b 7sub _attrs {
8 my ($self, @atts) = @_;
9 return @{$self->{_column_data}}{@atts};
10}
11
12*_attr = \&_attrs;
13
14sub _attribute_store {
15 my $self = shift;
16 my $vals = @_ == 1 ? shift: {@_};
17 my (@cols) = keys %$vals;
18 @{$self->{_column_data}}{@cols} = @{$vals}{@cols};
19}
20
21sub _attribute_set {
22 my $self = shift;
23 my $vals = @_ == 1 ? shift: {@_};
24 $self->set_column($_, $vals->{$_}) for keys %{$vals};
25}
26
27sub _attribute_delete {
28 my ($self, $attr) = @_;
29 delete $self->{_column_data}{$attr};
30}
31
32sub _attribute_exists {
33 my ($self, $attr) = @_;
34 exists $self->{_column_data}{$attr};
35}
36
371;