package # hide from PAUSE
DBIx::Class::CDBICompat::AttributeAPI;
use strict;
use warnings;
sub _attrs {
my ($self, @atts) = @_;
return @{$self->{_column_data}}{@atts};
}
*_attr = \&_attrs;
sub _attribute_store {
my $self = shift;
my $vals = @_ == 1 ? shift: {@_};
my (@cols) = keys %$vals;
@{$self->{_column_data}}{@cols} = @{$vals}{@cols};
}
sub _attribute_set {
my $self = shift;
my $vals = @_ == 1 ? shift: {@_};
$self->set_column($_, $vals->{$_}) for keys %{$vals};
}
sub _attribute_delete {
my ($self, $attr) = @_;
delete $self->{_column_data}{$attr};
}
sub _attribute_exists {
my ($self, $attr) = @_;
exists $self->{_column_data}{$attr};
}
1;