| ☞ | Program
Repair Shop ![]() |
48 |
sub get_observers {
my ( $item ) = @_;
my $class = ref($item) || $item;
my @observers = ($class->_obs_get_observers_scoped,
$class->_obs_get_parent_observers);
push @observers, $item->_obs_get_observers_scoped
if ref $item;
return @observers;
}
This is one of many examples that's simplified by ->direct_observers
The idea here: One call for direct observers, one for class observers
sub get_observers {
my $self = shift;
my @o = $self->_class_observers;
push @o, @{$self->direct_observers} if ref $self;
return _uniq(@o);
}
I think this is simpler
10 lines became 5
| ☞ | ![]() |
☞ |