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