/usr/lib/x86_64-linux-gnu/perl5/5.20/MooseX/Role/WithOverloading.pm is in libmoosex-role-withoverloading-perl 0.15-1+b1.
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 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | package MooseX::Role::WithOverloading;
BEGIN {
$MooseX::Role::WithOverloading::AUTHORITY = 'cpan:FLORA';
}
# git description: v0.14-9-gae3b660
$MooseX::Role::WithOverloading::VERSION = '0.15';
# ABSTRACT: Roles which support overloading
# KEYWORDS: moose extension role operator overload overloading
use Moose::Role ();
use Moose::Exporter;
use aliased 'MooseX::Role::WithOverloading::Meta::Role', 'MetaRole';
use aliased 'MooseX::Role::WithOverloading::Meta::Role::Application::ToClass';
use aliased 'MooseX::Role::WithOverloading::Meta::Role::Application::ToRole';
use aliased 'MooseX::Role::WithOverloading::Meta::Role::Application::ToInstance';
use namespace::clean;
# this functionality is built-in, starting with Moose 2.1300
my $has_core_support = eval { Moose->VERSION('2.1300'); 1 };
if ($has_core_support)
{
Moose::Exporter->setup_import_methods(also => 'Moose::Role');
}
else
{
require XSLoader;
XSLoader::load(
__PACKAGE__,
$MooseX::Role::WithOverloading::{VERSION}
? ${ $MooseX::Role::WithOverloading::{VERSION} }
: ()
);
Moose::Exporter->setup_import_methods(
also => 'Moose::Role',
role_metaroles => {
role => [MetaRole],
application_to_class => [ToClass],
application_to_role => [ToRole],
application_to_instance => [ToInstance],
},
);
}
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
MooseX::Role::WithOverloading - Roles which support overloading
=head1 VERSION
version 0.15
=head1 SYNOPSIS
package MyRole;
use MooseX::Role::WithOverloading;
use overload
q{""} => 'as_string',
fallback => 1;
has message => (
is => 'rw',
isa => 'Str',
);
sub as_string { shift->message }
package MyClass;
use Moose;
use namespace::autoclean;
with 'MyRole';
package main;
my $i = MyClass->new( message => 'foobar' );
print $i; # Prints 'foobar'
=head1 DESCRIPTION
MooseX::Role::WithOverloading allows you to write a L<Moose::Role> which
defines overloaded operators and allows those overload methods to be
composed into the classes/roles/instances it's compiled to, where plain
L<Moose::Role>s would lose the overloading.
Starting with L<Moose> version 2.1300, this module is no longer necessary, as
the functionality is available already. In that case,
C<use MooseX::Role::WithOverloading> behaves identically to C<use Moose::Role>.
=for stopwords metaclasses
=head1 AUTHORS
=over 4
=item *
Florian Ragwitz <rafl@debian.org>
=item *
Tomas Doran <bobtfish@bobtfish.net>
=back
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2009 by Florian Ragwitz.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=head1 CONTRIBUTORS
=for stopwords Dave Rolsky Florian Ragwitz Jesse Luehrs Tomas Doran (t0m)
=over 4
=item *
Dave Rolsky <autarch@urth.org>
=item *
Florian Ragwitz <rafl@debian.org>
=item *
Jesse Luehrs <doy@tozt.net>
=item *
Tomas Doran (t0m) <t0m@state51.co.uk>
=item *
Tomas Doran <bobtfish@bobtfish.net>
=back
=cut
|