use B ();
around new_object => sub {
- my $orig = shift;
- my $self = shift;
- my $params = @_ == 1 ? $_[0] : {@_};
+ my $orig = shift;
+ my $self = shift;
+ my $params = @_ == 1 ? $_[0] : {@_};
my $instance = $self->$orig(@_);
my %attrs = (
__INSTANCE__ => 1,
- (map { $_ => 1 }
- grep { defined }
- map { $_->init_arg }
- $self->get_all_attributes)
+ (
+ map { $_ => 1 }
+ grep {defined}
+ map { $_->init_arg() } $self->get_all_attributes()
+ )
);
my @bad = sort grep { !$attrs{$_} } keys %$params;
if (@bad) {
$self->throw_error(
- "Found unknown attribute(s) init_arg passed to the constructor: @bad");
+ "Found unknown attribute(s) init_arg passed to the constructor: @bad"
+ );
}
return $instance;