commit perl-Class-Data-Inheritable for openSUSE:Factory
Hello community,
here is the log from the commit of package perl-Class-Data-Inheritable for openSUSE:Factory
checked in at Tue Nov 30 15:42:20 CET 2010.
--------
--- perl-Class-Data-Inheritable/perl-Class-Data-Inheritable.changes 2010-10-19 10:45:26.000000000 +0200
+++ /mounts/work_src_done/STABLE/perl-Class-Data-Inheritable/perl-Class-Data-Inheritable.changes 2010-11-24 16:27:21.000000000 +0100
@@ -1,0 +2,7 @@
+Wed Nov 24 15:24:56 UTC 2010 - chris@computersalat.de
+
+- recreated by cpanspec 1.78
+ o fix deps
+- noarch pkg
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Class-Data-Inheritable.spec ++++++
--- /var/tmp/diff_new_pack.WLffsO/_old 2010-11-30 15:33:33.000000000 +0100
+++ /var/tmp/diff_new_pack.WLffsO/_new 2010-11-30 15:33:33.000000000 +0100
@@ -19,52 +19,107 @@
Name: perl-Class-Data-Inheritable
+%define cpan_name Class-Data-Inheritable
+Summary: Inheritable, overridable class data
Version: 0.08
-Release: 57
-Requires: perl = %{perl_version}
-Provides: Class-Data-Inheritable
-AutoReqProv: on
+Release: 58
+License: GPL+ or Artistic
Group: Development/Libraries/Perl
-License: Artistic
-Url: http://cpan.org/modules/by-module/Class/
-Summary: Inheritable, overridable class data
-Source: Class-Data-Inheritable-%{version}.tar.bz2
+Url: http://search.cpan.org/dist/Class-Data-Inheritable/
+#Source: http://www.cpan.org/authors/id/T/TM/TMTM/Class-Data-Inheritable-0.08.tar.gz
+Source: %{cpan_name}-%{version}.tar.bz2
+BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
+%if 0%{?suse_version} < 1120
+BuildRequires: perl-macros
+%endif
+Requires: perl = %{perl_version}
%description
-Class::Data::Inheritable is for creating accessor/mutators to class
-data. That is, if you want to store something about your class as a
-whole (instead of about a single object). This data is then inherited
-by your subclasses and can be overriden.
+Class::Data::Inheritable is for creating accessor/mutators to class data.
+That is, if you want to store something about your class as a whole
+(instead of about a single object). This data is then inherited by your
+subclasses and can be overriden.
+
+For example:
+
+ Pere::Ubu->mk_classdata('Suitcase');
+
+will generate the method Suitcase() in the class Pere::Ubu.
+
+This new method can be used to get and set a piece of class data.
+
+ Pere::Ubu->Suitcase('Red');
+ $suitcase = Pere::Ubu->Suitcase;
+The interesting part happens when a class inherits from Pere::Ubu:
+ package Raygun;
+ use base qw(Pere::Ubu);
+
+ # Raygun's suitcase is Red.
+ $suitcase = Raygun->Suitcase;
+
+Raygun inherits its Suitcase class data from Pere::Ubu.
+
+Inheritance of class data works analogous to method inheritance. As long as
+Raygun does not "override" its inherited class data (by using Suitcase() to
+set a new value) it will continue to use whatever is set in Pere::Ubu and
+inherit further changes:
+
+ # Both Raygun's and Pere::Ubu's suitcases are now Blue
+ Pere::Ubu->Suitcase('Blue');
+
+However, should Raygun decide to set its own Suitcase() it has now
+"overridden" Pere::Ubu and is on its own, just like if it had overriden a
+method:
+
+ # Raygun has an orange suitcase, Pere::Ubu's is still Blue.
+ Raygun->Suitcase('Orange');
+
+Now that Raygun has overridden Pere::Ubu futher changes by Pere::Ubu no
+longer effect Raygun.
+
+ # Raygun still has an orange suitcase, but Pere::Ubu is using Samsonite.
+ Pere::Ubu->Suitcase('Samsonite');
Authors:
--------
- Michael G Schwern
participants (1)
-
root@hilbert.suse.de