Commit | Line | Data |
5808b224 |
1 | BEGIN { |
2 | package AccessorGroups::BeenThereDoneThat; |
3 | |
4 | use strict; |
5 | use warnings; |
6 | use base 'Class::Accessor::Grouped'; |
7 | |
8 | __PACKAGE__->mk_group_accessors('simple', 'singlefield'); |
9 | __PACKAGE__->mk_group_accessors('multiple', qw/multiple1 multiple2/); |
10 | |
11 | my $dummy = bless {}; |
12 | # tickle stuff at BEGIN time |
13 | $dummy->singlefield('foo'); |
14 | } |
15 | |
16 | |
17 | package AccessorGroupsParent; |
18 | use strict; |
19 | use warnings; |
20 | use base 'Class::Accessor::Grouped'; |
21 | __PACKAGE__->mk_group_accessors('simple', 'singlefield'); |
22 | __PACKAGE__->mk_group_accessors('multiple', qw/multiple1 multiple2/); |
23 | __PACKAGE__->mk_group_accessors('listref', [qw/lr1name lr1;field/], [qw/lr2name lr2'field/]); |
24 | __PACKAGE__->mk_group_accessors('simple', 'runtime_around'); |
25 | __PACKAGE__->mk_group_accessors('simple', [ fieldname_torture => join ('', map { chr($_) } (0..255) ) ]); |
26 | |
27 | sub new { |
28 | return bless {}, shift; |
29 | }; |
30 | |
31 | foreach (qw/multiple listref/) { |
32 | no strict 'refs'; |
33 | *{"get_$_"} = __PACKAGE__->can('get_simple'); |
34 | *{"set_$_"} = __PACKAGE__->can('set_simple'); |
35 | }; |
36 | |
37 | 1; |