blob: 64b4d18894fb9fd1f465267540f9a91129f41d70 (
plain)
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
|
Source: libex-monkeypatched-perl
Section: perl
Priority: optional
Build-Depends: cdbs,
devscripts,
perl,
debhelper (>= 10~),
dh-buildinfo,
libsub-name-perl,
libtest-exception-perl
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Uploaders: Jonas Smedegaard <dr@jones.dk>
Standards-Version: 3.9.6
Vcs-Git: https://salsa.debian.org/perl-team/modules/packages/libex-monkeypatched-perl.git
Vcs-Browser: https://salsa.debian.org/perl-team/modules/packages/libex-monkeypatched-perl
Homepage: https://metacpan.org/release/ex-monkeypatched
Testsuite: autopkgtest-pkg-perl
Package: libex-monkeypatched-perl
Architecture: all
Depends: ${perl:Depends}, ${misc:Depends}, ${cdbs:Depends}
Enhances: ${cdbs:Enhances}
Description: experimental API for safe monkey-patching
The term "monkey patching" describes injecting additional methods into
a class whose implementation you don't control. If done without care,
this is dangerous; the problematic case arises when:
* You add a method to a class;
* A newer version of the monkey-patched class adds another method of
the same name
* And uses that new method in some other part of its own
implementation.
.
ex::monkeypatched lets you do this sort of monkey-patching safely:
before it injects a method into the target class, it checks whether the
class already has a method of the same name. If it finds such a
method, it throws an exception (at compile-time with respect to the
code that does the injection).
.
See <http://aaroncrane.co.uk/talks/monkey_patching_subclassing/> for
more details.
|