File: AccessorGroupsParent.pm

package info (click to toggle)
libclass-accessor-grouped-perl 0.10012-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, stretch
  • size: 356 kB
  • ctags: 187
  • sloc: perl: 2,553; makefile: 2
file content (37 lines) | stat: -rw-r--r-- 1,025 bytes parent folder | download | duplicates (3)
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
37
BEGIN {
  package AccessorGroups::BeenThereDoneThat;

  use strict;
  use warnings;
  use base 'Class::Accessor::Grouped';

  __PACKAGE__->mk_group_accessors('simple', 'singlefield');
  __PACKAGE__->mk_group_accessors('multiple', qw/multiple1 multiple2/);

  my $dummy = bless {};
  # tickle stuff at BEGIN time
  $dummy->singlefield('foo');
}


package AccessorGroupsParent;
use strict;
use warnings;
use base 'Class::Accessor::Grouped';
__PACKAGE__->mk_group_accessors('simple', 'singlefield');
__PACKAGE__->mk_group_accessors('multiple', qw/multiple1 multiple2/);
__PACKAGE__->mk_group_accessors('listref', [qw/lr1name lr1;field/], [qw/lr2name lr2'field/]);
__PACKAGE__->mk_group_accessors('simple', 'runtime_around');
__PACKAGE__->mk_group_accessors('simple', [ fieldname_torture => join ('', map { chr($_) } (0..255) ) ]);

sub new {
  return bless {}, shift;
};

foreach (qw/multiple listref/) {
  no strict 'refs';
  *{"get_$_"} = __PACKAGE__->can('get_simple');
  *{"set_$_"} = __PACKAGE__->can('set_simple');
};

1;