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