Index index by Group index by Distribution index by Vendor index by creation date index by Name Mirrors Help Search

perl-Devel-EnforceEncapsulation-0.51-26.fc37 RPM for noarch

From Fedora 37 for ppc64le / p

Name: perl-Devel-EnforceEncapsulation Distribution: Fedora Project
Version: 0.51 Vendor: Fedora Project
Release: 26.fc37 Build date: Fri Jul 22 07:11:00 2022
Group: Unspecified Build host: buildvm-x86-28.iad2.fedoraproject.org
Size: 12031 Source RPM: perl-Devel-EnforceEncapsulation-0.51-26.fc37.src.rpm
Packager: Fedora Project
Url: https://metacpan.org/release/Devel-EnforceEncapsulation
Summary: Find access violations to blessed objects
Encapsulation is the practice of creating subroutines to access the properties
of a class instead of accessing those properties directly. The advantage of
good encapsulation is that the author is permitted to change the internal
implementation of a class without breaking its usage.

Object-oriented programming in Perl is most commonly implemented via blessed
hashes. This practice makes it easy for users of a class to violate
encapsulation by simply accessing the hash values directly. Although less
common, the same applies to classes implemented via blessed arrays, scalars,
filehandles, etc.

This module is a hack to block those direct accesses. If you try to access a
hash value of an object from its own class, or a superclass or subclass, all
goes well. If you try to access a hash value from any other package, an
exception is thrown. The same applies to the scalar value of a blessed scalar,
entry in a blessed array, etc.

To be clear: this class is NOT intended for strict enforcement of
encapsulation. If you want bullet-proof encapsulation, use inside-out objects
or the like. Instead, this module is intended to be a development or debugging
aid in catching places where direct access is used against classes implemented
as blessed hashes.

To repeat: the encapsulation enforced here is a hack and is easily
circumvented. Please use this module for good (finding bugs), not evil (making
life harder for downstream developers).

Provides

Requires

License

GPL+ or Artistic

Changelog

* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.51-26
  - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue May 31 2022 Jitka Plesnikova <jplesnik@redhat.com> - 0.51-25
  - Perl 5.36 rebuild
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.51-24
  - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.51-23
  - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri May 21 2021 Jitka Plesnikova <jplesnik@redhat.com> - 0.51-22
  - Perl 5.34 rebuild
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.51-21
  - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Jan 08 2021 Paul Howarth <paul@city-fan.org> - 0.51-20
  - Spec tidy-up
    - Use author-independent source URL
    - Classify buildreqs by usage
    - Simplify find command using -delete
    - Fix permissions verbosely
    - Use %license macro
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.51-19
  - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

Files

/usr/share/doc/perl-Devel-EnforceEncapsulation
/usr/share/doc/perl-Devel-EnforceEncapsulation/CHANGES
/usr/share/doc/perl-Devel-EnforceEncapsulation/README
/usr/share/licenses/perl-Devel-EnforceEncapsulation
/usr/share/licenses/perl-Devel-EnforceEncapsulation/LICENSE
/usr/share/man/man3/Devel::EnforceEncapsulation.3pm.gz
/usr/share/perl5/vendor_perl/Devel
/usr/share/perl5/vendor_perl/Devel/EnforceEncapsulation.pm


Generated by rpm2html 1.8.1

Fabrice Bellet, Thu May 9 20:42:17 2024