File: AttributeAPI.pm

package info (click to toggle)
libdbix-class-perl 0.07003-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 1,396 kB
  • ctags: 764
  • sloc: perl: 7,046; sql: 217; makefile: 43
file content (36 lines) | stat: -rw-r--r-- 668 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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: {@_};
  $self->store_column($_, $vals->{$_}) for keys %{$vals};
}

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) = @_;
  $self->has_column_loaded($attr);
}

1;