/usr/share/perl5/MooseX/POE/Meta/Trait/Instance.pm is in libmoosex-poe-perl 0.215-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 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | package MooseX::POE::Meta::Trait::Instance;
{
$MooseX::POE::Meta::Trait::Instance::VERSION = '0.215';
}
# ABSTRACT: A Instance Metaclass for MooseX::POE
use Moose::Role;
use POE;
use Scalar::Util ();
sub get_session_id {
my ( $self, $instance ) = @_;
return $instance->{session_id};
}
sub get_slot_value {
my ( $self, $instance, $slot_name ) = @_;
return $instance->{heap}{$slot_name};
}
sub set_slot_value {
my ( $self, $instance, $slot_name, $value ) = @_;
$instance->{heap}{$slot_name} = $value;
}
sub is_slot_initialized {
my ( $self, $instance, $slot_name, $value ) = @_;
exists $instance->{heap}{$slot_name} ? 1 : 0;
}
sub weaken_slot_value {
my ( $self, $instance, $slot_name ) = @_;
Scalar::Util::weaken( $instance->{heap}{$slot_name} );
}
sub inline_slot_access {
my ( $self, $instance, $slot_name ) = @_;
sprintf '%s->{heap}{%s}', $instance, $slot_name;
}
no POE;
no Moose::Role;
1;
=pod
=head1 NAME
MooseX::POE::Meta::Trait::Instance - A Instance Metaclass for MooseX::POE
=head1 VERSION
version 0.215
=head1 SYNOPSIS
Moose::Util::MetaRole::apply_metaclass_roles(
for_class => $for_class,
metaclass_roles => [
'MooseX::POE::Meta::Trait::Class'
],
instance_metaclass_roles => [
'MooseX::POE::Meta::Trait::Instance',
],
);
=head1 DESCRIPTION
A metaclass for MooseX::POE. This module is only of use to developers
so there is no user documentation provided.
=head1 METHODS
=head2 create_instance
=head2 get_slot_value
=head2 inline_slot_access
=head2 is_slot_initialized
=head2 set_slot_value
=head2 weaken_slot_value
=head2 get_session_id
=head1 METHODS
=head1 AUTHORS
=over 4
=item *
Chris Prather <chris@prather.org>
=item *
Ash Berlin <ash@cpan.org>
=item *
Chris Williams <chris@bingosnet.co.uk>
=item *
Yuval (nothingmuch) Kogman
=item *
Torsten Raudssus <torsten@raudssus.de> L<http://www.raudssus.de/>
=back
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2010 by Chris Prather, Ash Berlin, Chris Williams, Yuval Kogman, Torsten Raudssus.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
__END__
|