Commit | Line | Data |
fe5d862b |
1 | package DBIx::Class::CDBICompat::AttributeAPI; |
2 | |
3 | sub _attrs { |
4 | my ($self, @atts) = @_; |
5 | return @{$self->{_column_data}}{@atts}; |
6 | } |
7 | |
8 | *_attr = \&_attrs; |
9 | |
10 | sub _attribute_store { |
11 | my $self = shift; |
12 | my $vals = @_ == 1 ? shift: {@_}; |
13 | my (@cols) = keys %$vals; |
14 | @{$self->{_column_data}}{@cols} = @{$vals}{@cols}; |
15 | } |
16 | |
17 | sub _attribute_set { |
18 | my $self = shift; |
19 | my $vals = @_ == 1 ? shift: {@_}; |
20 | $self->set_column($_, $vals->{$_}) for keys %{$vals}; |
21 | } |
22 | |
23 | sub _attribute_delete { |
24 | my ($self, $attr) = @_; |
25 | delete $self->{_column_data}{$attr}; |
26 | } |
27 | |
28 | sub _attribute_exists { |
29 | my ($self, $attr) = @_; |
30 | exists $self->{_column_data}{$attr}; |
31 | } |
32 | |
33 | 1; |