Commit | Line | Data |
f1417dab |
1 | package # hide from PAUSE |
2 | DBICTest::Schema::Encoded; |
3 | |
660cf1be |
4 | use base qw/DBICTest::BaseResult/; |
f1417dab |
5 | |
6 | use strict; |
7 | use warnings; |
8 | |
9 | __PACKAGE__->table('encoded'); |
10 | __PACKAGE__->add_columns( |
11 | 'id' => { |
12 | data_type => 'integer', |
13 | is_auto_increment => 1 |
14 | }, |
15 | 'encoded' => { |
16 | data_type => 'varchar', |
17 | size => 100, |
18 | is_nullable => 1, |
19 | }, |
20 | ); |
21 | |
22 | __PACKAGE__->set_primary_key('id'); |
23 | |
68888c09 |
24 | __PACKAGE__->has_many (keyholders => 'DBICTest::Schema::Employee', 'encoded'); |
25 | |
f1417dab |
26 | sub set_column { |
27 | my ($self, $col, $value) = @_; |
28 | if( $col eq 'encoded' ){ |
29 | $value = reverse split '', $value; |
30 | } |
31 | $self->next::method($col, $value); |
32 | } |
33 | |
34 | sub new { |
35 | my($self, $attr, @rest) = @_; |
36 | $attr->{encoded} = reverse split '', $attr->{encoded} |
37 | if defined $attr->{encoded}; |
38 | return $self->next::method($attr, @rest); |
39 | } |
40 | |
41 | 1; |