This file is indexed.

/usr/share/perl5/MooX/BuildArgs.pm is in libmoox-buildargs-perl 0.04-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
package MooX::BuildArgs;
$MooX::BuildArgs::VERSION = '0.04';
=head1 NAME

MooX::BuildArgs - Save instantiation arguments for later use.

=head1 SYNOPSIS

    package Foo;
    use Moo;
    with 'MooX::BuildArgs';
    has bar => (is => 'ro');
    
    my $foo = Foo->new( bar => 32 );
    print $foo->build_args->{bar}; # 32

=head1 DESCRIPTION

It is often useful to be able to access the arguments that were
used to create an object in their unadulterated form, before any
coercions or init_args have changed them.  This L<Moo> role
provides the arguments via the L</build_args> attribute.

Note that no attempt is made to weaken the args.  So, if you use
this module and you have attributes with C<weak_ref> set the
references will not be weakened within L</build_args>.

=cut

use Moo::Role;
use strictures 2;
use namespace::clean;

with 'MooX::BuildArgsHooks';

around FINALIZE_BUILDARGS => sub{
    my ($orig, $class, $args) = @_;

    $args = $class->$orig( $args );

    return $class->FINALIZE_BUILD_ARGS_BUILDARGS( $args );
};

sub FINALIZE_BUILD_ARGS_BUILDARGS {
    my ($class, $args) = @_;

    $args->{_build_args} = { %$args };

    return $args;
}

=head1 ATTRIBUTES

=head2 build_args

    my $args_hashref = $object->build_args();

Returns a hashref containing the captured arguments.

=cut

has build_args => (
    is       => 'ro',
    init_arg => '_build_args',
);

1;
__END__

=head1 SEE ALSO

=over

=item *

L<MooX::BuildArgsHooks>

=item *

L<MooX::MethodProxyArgs>

=item *

L<MooX::Rebuild>

=item *

L<MooX::SingleArg>

=back

=head1 AUTHOR

Aran Clary Deltac <bluefeet@gmail.com>

=head1 CONTRIBUTORS

=over

=item *

Peter Pentchev <roamE<64>ringlet.net>

=back

=head1 LICENSE

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.