sub _perform {
my $self = shift;
+ my $type = shift;
my $sub = shift;
my $opts = shift;
croak "\$opts MUST be a HASHref" unless ref($opts) eq "HASH";
my @errors = ();
- foreach (@{$self->{person}}) {
+ foreach (@{$self->{$type}}) {
my @result = eval { $sub->($_, $opts, @_) };
return @result unless $@;
push @errors, $@;
sub find_person {
my $self = shift;
- $self->_perform(sub { my $obj = shift;
+ $self->_perform('person',
+ sub { my $obj = shift;
my $opts = shift;
return $opts->{wantarray}
? ($obj->find_person(@_))
sub find_person_tag {
my $self = shift;
- $self->_perform(sub { my $obj = shift;
+ $self->_perform('person',
+ sub { my $obj = shift;
my $opts = shift;
$obj->find_person_tag(@_) },
{ wantarray => wantarray }, @_);
sub is_member_of {
my $self = shift;
- $self->_perform(sub { my $obj = shift;
+ $self->_perform('person',
+ sub { my $obj = shift;
my $opts = shift;
$obj->is_member_of(@_) },
{ wantarray => wantarray }, @_);
sub members_of {
my $self = shift;
- $self->_perform(sub { my $obj = shift;
+ $self->_perform('person',
+ sub { my $obj = shift;
my $opts = shift;
$obj->members_of(@_) },
{ wantarray => wantarray }, @_);
sub has_cla {
my $self = shift;
- $self->_perform(sub { my $obj = shift;
+ $self->_perform('cla',
+ sub { my $obj = shift;
my $opts = shift;
$obj->has_cla(@_) },
{ wantarray => wantarray }, @_);