Commit | Line | Data |
75d07914 |
1 | package # hide from PAUSE |
c0e7b4e5 |
2 | DBIx::Class::CDBICompat::AttributeAPI; |
fe5d862b |
3 | |
bf5ecff9 |
4 | use strict; |
5 | use warnings; |
6 | |
5e0eea35 |
7 | use base 'DBIx::Class'; |
8 | |
fe5d862b |
9 | sub _attrs { |
10 | my ($self, @atts) = @_; |
11 | return @{$self->{_column_data}}{@atts}; |
12 | } |
13 | |
51ec0382 |
14 | sub _attr { shift->_attrs(@_) } |
fe5d862b |
15 | |
16 | sub _attribute_store { |
17 | my $self = shift; |
18 | my $vals = @_ == 1 ? shift: {@_}; |
8f7e9222 |
19 | $self->store_column($_, $vals->{$_}) for keys %{$vals}; |
fe5d862b |
20 | } |
21 | |
22 | sub _attribute_set { |
23 | my $self = shift; |
24 | my $vals = @_ == 1 ? shift: {@_}; |
25 | $self->set_column($_, $vals->{$_}) for keys %{$vals}; |
26 | } |
27 | |
28 | sub _attribute_delete { |
29 | my ($self, $attr) = @_; |
30 | delete $self->{_column_data}{$attr}; |
31 | } |
32 | |
33 | sub _attribute_exists { |
34 | my ($self, $attr) = @_; |
8f7e9222 |
35 | $self->has_column_loaded($attr); |
fe5d862b |
36 | } |
37 | |
38 | 1; |