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 | |
fe5d862b |
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 | my (@cols) = keys %$vals; |
18 | @{$self->{_column_data}}{@cols} = @{$vals}{@cols}; |
19 | } |
20 | |
21 | sub _attribute_set { |
22 | my $self = shift; |
23 | my $vals = @_ == 1 ? shift: {@_}; |
24 | $self->set_column($_, $vals->{$_}) for keys %{$vals}; |
25 | } |
26 | |
27 | sub _attribute_delete { |
28 | my ($self, $attr) = @_; |
29 | delete $self->{_column_data}{$attr}; |
30 | } |
31 | |
32 | sub _attribute_exists { |
33 | my ($self, $attr) = @_; |
34 | exists $self->{_column_data}{$attr}; |
35 | } |
36 | |
37 | 1; |