# packages

name: perl-Class-Delegation
arch: src
version: 1.009001
epoch: 0
release: 1.31
summary: Object-oriented delegation
url: https://metacpan.org/release/Class-Delegation
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: stones
location_href: src/perl-Class-Delegation-1.009001-1.31.src.rpm
checksum_type: sha512
pkgId:
  a6c497272c0240778cbb382cda9f91ed141ddde076e60b2d36f9af7dbfe50408416769fa6190053295578d4300eb40c0d3bfc36a326f3f788f9ff1019ad95129

description:
  The Class::Delegation module simplifies the creation of delegation-based
  class hierarchies, allowing a method to be redispatched:

    * to a single nominated attribute,

    * to a collection of nominated attributes in parallel, or

    * to any attribute that can handle the message.

    * the object itself

  These three delegation mechanisms can be specified for:

    * a single method

    * a set of nominated methods collectively

    * any as-yet-undelegated methods

    * all methods, delegated or not.


name: perl-Class-Delegation-Simple
arch: noarch
version: 0.02
epoch: 0
release: 8.56
summary: Simple delegation for Perl
url: http://search.cpan.org/dist/Class-Delegation-Simple/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb61
rpm_sourcerpm: perl-Class-Delegation-Simple-0.02-8.56.src.rpm
location_href: noarch/perl-Class-Delegation-Simple-0.02-8.56.noarch.rpm
checksum_type: sha512
pkgId:
  1513b7219a54bbcfe2a79b716fde0fb0d7ab2e8356e3a9ff33a59c377902df759077e94702bddef1f7e5f8475e3e26a2962f996d1695f4d6b4a594f30c8bcb7c

description:
  Class delegation is simply a way to get around some of the problems
  presented by class inheritance.

  You can specify that you want some method calls to be handled by one or
  more attributes of your own choosing.

  This is much cleaner than constantly hacking out the following:

    sub steer
    {
      my ($s) = shift;
      $s->{wheel}->steer( @_ );
    }

    sub wipe
    {
      my ($s) = shift;
      my @result = (
        $s->{left_wiper}->wipe( @_ ),
        $s->{right_wiper}->wipe( @_ )
      );
      return @result;
    }


name: perl-Class-Delegation-Simple
arch: src
version: 0.02
epoch: 0
release: 8.56
summary: Simple delegation for Perl
url: http://search.cpan.org/dist/Class-Delegation-Simple/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb61
location_href: src/perl-Class-Delegation-Simple-0.02-8.56.src.rpm
checksum_type: sha512
pkgId:
  bdd61597d2a9c67799db8151a63fff1effab23b3cb1e6d57bb05d1a84b98aeaac09765e575238eccd8ff4c591b848daca72c29cd651e90c52a3987f748368ec6

description:
  Class delegation is simply a way to get around some of the problems
  presented by class inheritance.

  You can specify that you want some method calls to be handled by one or
  more attributes of your own choosing.

  This is much cleaner than constantly hacking out the following:

    sub steer
    {
      my ($s) = shift;
      $s->{wheel}->steer( @_ );
    }

    sub wipe
    {
      my ($s) = shift;
      my @result = (
        $s->{left_wiper}->wipe( @_ ),
        $s->{right_wiper}->wipe( @_ )
      );
      return @result;
    }


name: perl-Class-Delegator
arch: noarch
version: 0.09
epoch: 0
release: 9.55
summary: Simple and fast object-oriented delegation
description: Simple and fast object-oriented delegation
url: http://search.cpan.org/dist/Class-Delegator/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: build77
rpm_sourcerpm: perl-Class-Delegator-0.09-9.55.src.rpm
location_href: noarch/perl-Class-Delegator-0.09-9.55.noarch.rpm
checksum_type: sha512
pkgId:
  88dacf3e6e61aeed0d3083e13586b33abc8adea65daa53430c2997ce76578ab9c9e843b94bb7e2d69806a1e4aae7f318acbc37d1f8a6490a0426b9b9e5758781


name: perl-Class-Delegator
arch: src
version: 0.09
epoch: 0
release: 9.55
summary: Simple and fast object-oriented delegation
description: Simple and fast object-oriented delegation
url: http://search.cpan.org/dist/Class-Delegator/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: build77
location_href: src/perl-Class-Delegator-0.09-9.55.src.rpm
checksum_type: sha512
pkgId:
  682e1a2e93fc474db7052929b443b93545bff2b3899dce33f130a7679e16e469e420eef54edd1941270536ede108d77cc880615dec5790e7857b0ad99240967f


name: perl-Class-Discover
arch: noarch
version: 1.000003
epoch: 0
release: 2.10
summary: Detect MooseX::Declare's 'class' keyword in files
url: https://metacpan.org/release/Class-Discover
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb20
rpm_sourcerpm: perl-Class-Discover-1.000003-2.10.src.rpm
location_href: noarch/perl-Class-Discover-1.000003-2.10.noarch.rpm
checksum_type: sha512
pkgId:
  3238de0a620b30d30f3b64a3a6926404ec4a868db0e41515b0fc28db875b7eab372de969c37485036902d06e7e2e73b576b4ae5e5f5d960f564e935180ae2e82

description:
  This class is designed primarily for tools that whish to populate the
  'provides' field of META.{yml,json} files so that the CPAN indexer will pay
  attention to the existance of your classes, rather than blithely ignoring
  them.

  The version parsing is basically the same as what M::I's '->version_form'
  does, so should hopefully work as well as it does.


name: perl-Class-Discover
arch: src
version: 1.000003
epoch: 0
release: 2.10
summary: Detect MooseX::Declare's 'class' keyword in files
url: https://metacpan.org/release/Class-Discover
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb20
location_href: src/perl-Class-Discover-1.000003-2.10.src.rpm
checksum_type: sha512
pkgId:
  a6775057a689d9425c5c5ac0ae36da787cc19b769d033a2ce74d2ef4037aea633477c07a48f71dd4f6e3a1db06bd2019debafa0a46e24ff3de29715a0100c009

description:
  This class is designed primarily for tools that whish to populate the
  'provides' field of META.{yml,json} files so that the CPAN indexer will pay
  attention to the existance of your classes, rather than blithely ignoring
  them.

  The version parsing is basically the same as what M::I's '->version_form'
  does, so should hopefully work as well as it does.


name: perl-Class-DispatchToAll
arch: noarch
version: 0.13
epoch: 0
release: 1.29
summary: DEPRECATED - dispatch a method call to all inherited methods
url: https://metacpan.org/release/Class-DispatchToAll
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Unspecified
rpm_buildhost: sheep85
rpm_sourcerpm: perl-Class-DispatchToAll-0.13-1.29.src.rpm
location_href: noarch/perl-Class-DispatchToAll-0.13-1.29.noarch.rpm
checksum_type: sha512
pkgId:
  701ba9d278cb4f7e1b22f88ec5f124ac26b3446f7efc9c931607114ae4d4c659a2a54c8941709cf4be3b7174bba8bfd6b671e6a376564118da327cfdd0105afc

description:
  DEPRECATED - Do not use this module anymore!

  But here are the old docs, anyway:

  See the Docs of Damian Conways Module Class::Delegation for a good
  introduction about Dispatching vs. Inheritance.

  Class::DispatchToAll enables you to call *all* instantances of a method in
  your inheritance tree (or labyrinth..).

  The standard Perl behaviour is to call only the lefternmost instance it can
  fing doing a depth first traversial.

  Imagine the following class structure:

                C
               /
     A    B  C::C
      \  / \ /
     A::A   D
         \ /
       My::Class

  Perl will try to find a method in this mess in this order:

   My::Class -> A::A  ->  A  ->  B  ->  D  -> B  -> C::C -> C

  (Note that it will look twice in 'B' because 'B' is a parent of both 'A::A'
  and 'D'))

  As soon as Perl finds the method somewhere, it will short-circuit out of
  it's search and invoke the method.

  And that is exactly the behaviour 'Class::DispatchToAll' changes.

  If you use 'dispatch_to_all' (provided by 'Class::DispatchToAll') to call
  your method, Perl will look in all of the aforementioned packages and run
  all the methods it can find. It will even collect all the return values and
  return them to you as an array, if you want it too.


name: perl-Class-DispatchToAll
arch: src
version: 0.13
epoch: 0
release: 1.29
summary: DEPRECATED - dispatch a method call to all inherited methods
url: https://metacpan.org/release/Class-DispatchToAll
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Unspecified
rpm_buildhost: sheep85
location_href: src/perl-Class-DispatchToAll-0.13-1.29.src.rpm
checksum_type: sha512
pkgId:
  864878c643fe03521c13042ce76b38f07412c1039c171fe2d52a0d65d759d2a7b2fb4551eb67b125ac25e20781e062fc7e2a2b3ce2400ec9aab3908269b16451

description:
  DEPRECATED - Do not use this module anymore!

  But here are the old docs, anyway:

  See the Docs of Damian Conways Module Class::Delegation for a good
  introduction about Dispatching vs. Inheritance.

  Class::DispatchToAll enables you to call *all* instantances of a method in
  your inheritance tree (or labyrinth..).

  The standard Perl behaviour is to call only the lefternmost instance it can
  fing doing a depth first traversial.

  Imagine the following class structure:

                C
               /
     A    B  C::C
      \  / \ /
     A::A   D
         \ /
       My::Class

  Perl will try to find a method in this mess in this order:

   My::Class -> A::A  ->  A  ->  B  ->  D  -> B  -> C::C -> C

  (Note that it will look twice in 'B' because 'B' is a parent of both 'A::A'
  and 'D'))

  As soon as Perl finds the method somewhere, it will short-circuit out of
  it's search and invoke the method.

  And that is exactly the behaviour 'Class::DispatchToAll' changes.

  If you use 'dispatch_to_all' (provided by 'Class::DispatchToAll') to call
  your method, Perl will look in all of the aforementioned packages and run
  all the methods it can find. It will even collect all the return values and
  return them to you as an array, if you want it too.


name: perl-Class-Dot
arch: noarch
version: 1.5.0
epoch: 0
release: 10.41
summary: Simple and fast properties for Perl 5
url: https://metacpan.org/release/Class-Dot
rpm_license: BSD-3-Clause
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: wildcard2
rpm_sourcerpm: perl-Class-Dot-1.5.0-10.41.src.rpm
location_href: noarch/perl-Class-Dot-1.5.0-10.41.noarch.rpm
checksum_type: sha512
pkgId:
  a3a8e74b2601747168a792ac109e8864a8206c186a0e5728ed4b8677aa2384fe10a4d5c4aeac6071efd4a30bf3b7c295d3fce3075025df8abcbfef72ebb03346

description:
  Simple and fast properties for Perl 5.

  'Class::Dot' also lets you define types for your properties, like Hash,
  String, Int, File, Code, Array and so on.

  All the types are populated with sane defaults, so you no longer have to
  write code like this:

      sub make_healthy {
         my ($self) = @_;
         my $state  = $self->state;
         my $fur    = $self->fur;

         $state ||= { }; # <-- you don't have to do this with class dot.
         $fur   ||= [ ]; # <-- same with this.
      }

  Class::Dot can also create a default constructor for you if you pass it the
  '-new' option on the use line:

      use Class::Dot qw(-new :std);

  If you pass a hashref to the constructor, it will use them as values for
  the properties:

      my $cat = Animal::Mammal::Carnivorous::Cat->new({
         gender => 'male',
         fur    => ['black', 'white', 'short'],
      }

  If you want to intialize something at object construction time you can!
  Just define a method named 'BUILD'. 'Class::Dot' will pass on the instance
  and all the arguments that was sent to 'new'.

      sub BUILD {
         my ($self, $options_ref) = @_;

         warn 'Someone created a ', ref $self;

         return;
      }

  The return value of the 'BUILD' method doesn't mean anything, that is
  unleass you have to '-rebuild' option on. When the '-rebuild' option is on,
  'Class::Dot' uses the return value of BUILD as the new object, so you can
  create a abstract factory or similar:

      use Class::Dot qw(-new -rebuild :std);

      sub BUILD {
         my ($self, $option_ref) = @_;

         if (exists $options_ref->{delegate_to}) {
            my $new_class = $options_ref->{delegate_to};
            my $new_instasnce = $new_class->new($options_ref);

            return $new_instance;
         }

         return;
      }

  A big value of using properties is that you can override them at a later
  point to make them support additional functionality, like setting a
  hardware flag, logging, etc. In Class::Dot you override a property simply
  by defining their accessors:

      property name => isa_String();

      sub name {   # <-- overrides the get accessor
         my ($self) = @_;

         warn 'Acessing the name property';

         return $self->__getattr__('name');
      }


      sub set_name { # <-- overrides the set accessor
         my ($self, $new_name) = @_;

         warn $self->__getattr__('name'), " changed name to $new_name!";

         $self->__setattr__('name', $new_name);

         return;
      }

  There is one exception where this won't work, though. That is if you define
  a property in a 'BEGIN' block. If you do that you have to use the
  'after_property_get()' and 'after_property_set()' functions:

      BEGIN {
         use Class::Dot qw(-new :std);
         property name => isa_String();
      }

      after_property_get name => sub {
         my ($self) = @_;

         warn 'Acessing the name property';

         return $self->__getattr__('name');
      }; # <-- the semicolon is required here!


      after_property_set name => sub {
         my ($self, $new_name) = @_;

         warn $self->__getattr__('name'), " changed name to $new_name!";

         $self->__setattr__('name', $new_name);

         return;
      }; # <-- the semicolon is required here!

  You can read more about 'Class::Dot' in the Class::Dot::Manual::Cookbook
  and Class::Dot::Manual::FAQ. (Not yet written for the 2.0 beta release).

  Have a good time working with 'Class::Dot', and please report any bug you
  might find, or send feature requests. (although 'Class::Dot' is not meant
  to be Moose, it's meant to be simple and fast).


name: perl-Class-Dot
arch: src
version: 1.5.0
epoch: 0
release: 10.41
summary: Simple and fast properties for Perl 5
url: https://metacpan.org/release/Class-Dot
rpm_license: BSD-3-Clause
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: wildcard2
location_href: src/perl-Class-Dot-1.5.0-10.41.src.rpm
checksum_type: sha512
pkgId:
  b5d1773db96f59cbaacfd6b01cfa7616214f00699bc59a099a697e69990e681a26efc1b059312062638045aadce7e6bb75e4cc4f11f42e97fa69c8055b0af541

description:
  Simple and fast properties for Perl 5.

  'Class::Dot' also lets you define types for your properties, like Hash,
  String, Int, File, Code, Array and so on.

  All the types are populated with sane defaults, so you no longer have to
  write code like this:

      sub make_healthy {
         my ($self) = @_;
         my $state  = $self->state;
         my $fur    = $self->fur;

         $state ||= { }; # <-- you don't have to do this with class dot.
         $fur   ||= [ ]; # <-- same with this.
      }

  Class::Dot can also create a default constructor for you if you pass it the
  '-new' option on the use line:

      use Class::Dot qw(-new :std);

  If you pass a hashref to the constructor, it will use them as values for
  the properties:

      my $cat = Animal::Mammal::Carnivorous::Cat->new({
         gender => 'male',
         fur    => ['black', 'white', 'short'],
      }

  If you want to intialize something at object construction time you can!
  Just define a method named 'BUILD'. 'Class::Dot' will pass on the instance
  and all the arguments that was sent to 'new'.

      sub BUILD {
         my ($self, $options_ref) = @_;

         warn 'Someone created a ', ref $self;

         return;
      }

  The return value of the 'BUILD' method doesn't mean anything, that is
  unleass you have to '-rebuild' option on. When the '-rebuild' option is on,
  'Class::Dot' uses the return value of BUILD as the new object, so you can
  create a abstract factory or similar:

      use Class::Dot qw(-new -rebuild :std);

      sub BUILD {
         my ($self, $option_ref) = @_;

         if (exists $options_ref->{delegate_to}) {
            my $new_class = $options_ref->{delegate_to};
            my $new_instasnce = $new_class->new($options_ref);

            return $new_instance;
         }

         return;
      }

  A big value of using properties is that you can override them at a later
  point to make them support additional functionality, like setting a
  hardware flag, logging, etc. In Class::Dot you override a property simply
  by defining their accessors:

      property name => isa_String();

      sub name {   # <-- overrides the get accessor
         my ($self) = @_;

         warn 'Acessing the name property';

         return $self->__getattr__('name');
      }


      sub set_name { # <-- overrides the set accessor
         my ($self, $new_name) = @_;

         warn $self->__getattr__('name'), " changed name to $new_name!";

         $self->__setattr__('name', $new_name);

         return;
      }

  There is one exception where this won't work, though. That is if you define
  a property in a 'BEGIN' block. If you do that you have to use the
  'after_property_get()' and 'after_property_set()' functions:

      BEGIN {
         use Class::Dot qw(-new :std);
         property name => isa_String();
      }

      after_property_get name => sub {
         my ($self) = @_;

         warn 'Acessing the name property';

         return $self->__getattr__('name');
      }; # <-- the semicolon is required here!


      after_property_set name => sub {
         my ($self, $new_name) = @_;

         warn $self->__getattr__('name'), " changed name to $new_name!";

         $self->__setattr__('name', $new_name);

         return;
      }; # <-- the semicolon is required here!

  You can read more about 'Class::Dot' in the Class::Dot::Manual::Cookbook
  and Class::Dot::Manual::FAQ. (Not yet written for the 2.0 beta release).

  Have a good time working with 'Class::Dot', and please report any bug you
  might find, or send feature requests. (although 'Class::Dot' is not meant
  to be Moose, it's meant to be simple and fast).


name: perl-Class-Dynamic
arch: noarch
version: 1.01
epoch: 0
release: 8.61
summary: Rudimentary support for coderefs in @ISA
url: http://search.cpan.org/dist/Class-Dynamic/
rpm_license: GPL & AL.
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb28
rpm_sourcerpm: perl-Class-Dynamic-1.01-8.61.src.rpm
location_href: noarch/perl-Class-Dynamic-1.01-8.61.noarch.rpm
checksum_type: sha512
pkgId:
  c31f3c39d2456475f386ef8040ea8458e42c8b6167241980cf3e74c002b86d81423470c798cb9377f5baa45b129fdd6af5713d220b12446f95574ebb1da989b7

description:
  This module allows you to insert coderefs into a class's '@ISA'.

  The coderef is called with the object and method name as parameters, so
  that it can determine which class is appropriate. The coderef should return
  a string representing the class to delegate the method to.

  Suggested uses: mixins, random dispatch, creating classes at runtime...


name: perl-Class-Dynamic
arch: src
version: 1.01
epoch: 0
release: 8.61
summary: Rudimentary support for coderefs in @ISA
url: http://search.cpan.org/dist/Class-Dynamic/
rpm_license: GPL & AL.
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb28
location_href: src/perl-Class-Dynamic-1.01-8.61.src.rpm
checksum_type: sha512
pkgId:
  0e45e949c7ff436c203648ffdd7a230c89e7e24d1ae5e8f1852c14294774727756c4d85a8334e95bf6e8f920f42d382e1c373409a00412a9dc80ab09a502551d

description:
  This module allows you to insert coderefs into a class's '@ISA'.

  The coderef is called with the object and method name as parameters, so
  that it can determine which class is appropriate. The coderef should return
  a string representing the class to delegate the method to.

  Suggested uses: mixins, random dispatch, creating classes at runtime...


name: perl-Class-EHierarchy
arch: noarch
version: 0.93
epoch: 0
release: 5.1
summary: Base class for hierarchally ordered objects
url: http://search.cpan.org/dist/Class-EHierarchy/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: build31
rpm_sourcerpm: perl-Class-EHierarchy-0.93-5.1.src.rpm
location_href: noarch/perl-Class-EHierarchy-0.93-5.1.noarch.rpm
checksum_type: sha512
pkgId:
  d53f1a8c276606ccd9dee7f45a5b94c23fd2c67cb38a6cf967a83a6eaa67c648cc4d3aba03b7d0d3b837c92d0efdbd87dc064b5ec90f88c013ebb0cd8d6fd6a0

description:
  *Class::EHierarchy* is intended for use as a base class for custom objects,
  but objects that need one or more of the following features:

  * * orderly bottom-up destruction of objects

  * * opaque objects

  * * class-based access restrictions for properties and methods

  * * primitive strict property type awareness

  * * alias-based object retrieval

  Each of the above features are described in more depth in the following
  subsections:


name: perl-Class-EHierarchy
arch: src
version: 0.93
epoch: 0
release: 5.1
summary: Base class for hierarchally ordered objects
url: http://search.cpan.org/dist/Class-EHierarchy/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: build31
location_href: src/perl-Class-EHierarchy-0.93-5.1.src.rpm
checksum_type: sha512
pkgId:
  822f294486df00920224ee274691c2ed1daa20bc05f8eb825824543821d3f2e42934d048ebd835f4e4cdc303bdbed55bc4347b2d83cbbb47200a0dab9404212a

description:
  *Class::EHierarchy* is intended for use as a base class for custom objects,
  but objects that need one or more of the following features:

  * * orderly bottom-up destruction of objects

  * * opaque objects

  * * class-based access restrictions for properties and methods

  * * primitive strict property type awareness

  * * alias-based object retrieval

  Each of the above features are described in more depth in the following
  subsections:


name: perl-Class-Easy
arch: src
version: 0.18
epoch: 0
release: 1.78
summary: Make Class Routine Easy
description: make class routine easy
url: http://search.cpan.org/dist/Class-Easy/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus3
location_href: src/perl-Class-Easy-0.18-1.78.src.rpm
checksum_type: sha512
pkgId:
  a0e2aea999e671ff0fb3e3c38f647b29443cc4d71c2c10db864c5e3d190aecb7ef9bb8a6fe121306ff5a21c44c4cae354a2689a7ca5c2b34aa975dee2d965b44


name: perl-Class-Easy
arch: x86_64
version: 0.18
epoch: 0
release: 1.78
summary: Make Class Routine Easy
description: make class routine easy
url: http://search.cpan.org/dist/Class-Easy/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus3
rpm_sourcerpm: perl-Class-Easy-0.18-1.78.src.rpm
location_href: x86_64/perl-Class-Easy-0.18-1.78.x86_64.rpm
checksum_type: sha512
pkgId:
  1786938964e7cacb51f5cc4116ca46c5de5143dff97c06f773128e6f73dab13ff5f7b4de7f914289346807170fe4409fef6a8f4f4f927a543ef84937606aa434


name: perl-Class-Entity
arch: noarch
version: 0.5
epoch: 0
release: 8.58
summary: Object interface for relational databases
url: http://search.cpan.org/dist/Class-Entity/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus1
rpm_sourcerpm: perl-Class-Entity-0.5-8.58.src.rpm
location_href: noarch/perl-Class-Entity-0.5-8.58.noarch.rpm
checksum_type: sha512
pkgId:
  19562391fad879a45765579c224f5ee20e27473a2f61426e7d1920a1b54b1ca9d3934cf28a3a9c5f8467d3e5789a90cf2537fd3eac0f5bd57a9a6b45b45f9bd4

description:
  *Class::Entity* allows a developer to create an object interface for a
  relational database by writing a minimal amount of code in a set of
  sub-classes which correspond to database tables.

  Right now this module only implements a read only interface. Writes will
  probably come later.


name: perl-Class-Entity
arch: src
version: 0.5
epoch: 0
release: 8.58
summary: Object interface for relational databases
url: http://search.cpan.org/dist/Class-Entity/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus1
location_href: src/perl-Class-Entity-0.5-8.58.src.rpm
checksum_type: sha512
pkgId:
  d224b73aa0c11370f9521c8be1b09210b764b11c72ff49833de66845d825e2f3adba416bd35261881e7ae84a9d1cfcc9ea274aecd785fef301ce653c659e6847

description:
  *Class::Entity* allows a developer to create an object interface for a
  relational database by writing a minimal amount of code in a set of
  sub-classes which correspond to database tables.

  Right now this module only implements a read only interface. Writes will
  probably come later.


name: perl-Class-Enum
arch: noarch
version: 0.05
epoch: 0
release: 4.55
summary: Typed Enum
description:
  Class::Enum provides behaviors of typed enum, such as a Typesafe enum in
  java.

url: http://search.cpan.org/dist/Class-Enum/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep83
rpm_sourcerpm: perl-Class-Enum-0.05-4.55.src.rpm
location_href: noarch/perl-Class-Enum-0.05-4.55.noarch.rpm
checksum_type: sha512
pkgId:
  2788e2e6b9547a7971ef7ef88e1089b63239784ff5ac9ba9e5a153186037ead3b1c39d46d8b58b1dcd4586ff5d026bd76b9629ea516082021e4b0af3fa2545f4


name: perl-Class-Enum
arch: src
version: 0.05
epoch: 0
release: 4.55
summary: Typed Enum
description:
  Class::Enum provides behaviors of typed enum, such as a Typesafe enum in
  java.

url: http://search.cpan.org/dist/Class-Enum/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep83
location_href: src/perl-Class-Enum-0.05-4.55.src.rpm
checksum_type: sha512
pkgId:
  bf17be878910144c00746b5cfa8a978a12b99559341640a68867546a76f7d686e7b8f7c86e7662e919fe22b67e011a0780774604088ab0998264ac4ce322a8cc


name: perl-Class-Enumemon
arch: noarch
version: 0.01
epoch: 0
release: 1.55
summary: Enum-Like Class Generator
url: http://search.cpan.org/dist/Class-Enumemon/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus3
rpm_sourcerpm: perl-Class-Enumemon-0.01-1.55.src.rpm
location_href: noarch/perl-Class-Enumemon-0.01-1.55.noarch.rpm
checksum_type: sha512
pkgId:
  a4b655bbf9e97d6857c26add5f84e7942673ab339d0ef0e148809e55aafe35e4d2af8eaad7d514173159ffe820082d6636f5f1d198bf81437919eb5d78eb5261

description:
  Class::Enumemon generate enum-like classes with typical methods that are
  getter for all, indexer, accessor and guard generator. An instance fetched
  from package is always same reference with another.


name: perl-Class-Enumemon
arch: src
version: 0.01
epoch: 0
release: 1.55
summary: Enum-Like Class Generator
url: http://search.cpan.org/dist/Class-Enumemon/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus3
location_href: src/perl-Class-Enumemon-0.01-1.55.src.rpm
checksum_type: sha512
pkgId:
  8417dd0a1858752c14f50f453b562889ea417c283627da8f9f1d88c40dbc227ac5080644a0e5a3b4efb3fb0c7859084892a94072329ef086216cdceb528439e6

description:
  Class::Enumemon generate enum-like classes with typical methods that are
  getter for all, indexer, accessor and guard generator. An instance fetched
  from package is always same reference with another.


name: perl-Class-ErrorHandler
arch: noarch
version: 0.04
epoch: 0
release: 1.53
summary: Base class for error handling
url: http://search.cpan.org/dist/Class-ErrorHandler/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: beatles
rpm_sourcerpm: perl-Class-ErrorHandler-0.04-1.53.src.rpm
location_href: noarch/perl-Class-ErrorHandler-0.04-1.53.noarch.rpm
checksum_type: sha512
pkgId:
  562d8379729758b27be119f42e3191ab4639e39dd680dd74d3b1d20048d249541fbc7090b3b23752be1709280aef502c156512e78e9ed4d5727481d6cab91956

description:
  _Class::ErrorHandler_ provides an error-handling mechanism that's generic
  enough to be used as the base class for a variety of OO classes. Subclasses
  inherit its two error-handling methods, _error_ and _errstr_, to
  communicate error messages back to the calling program.

  On failure (for whatever reason), a subclass should call _error_ and return
  to the caller; _error_ itself sets the error message internally, then
  returns 'undef'. This has the effect of the method that failed returning
  'undef' to the caller. The caller should check for errors by checking for a
  return value of 'undef', and calling _errstr_ to get the value of the error
  message on an error.

  As demonstrated in the SYNOPSIS, _error_ and _errstr_ work as both class
  methods and object methods.


name: perl-Class-ErrorHandler
arch: src
version: 0.04
epoch: 0
release: 1.53
summary: Base class for error handling
url: http://search.cpan.org/dist/Class-ErrorHandler/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: beatles
location_href: src/perl-Class-ErrorHandler-0.04-1.53.src.rpm
checksum_type: sha512
pkgId:
  28a06adaeef4fe4b9513f063afd220909fedec3664165d7e475a3b807505bb956ab7c6ae78f19cd5fe64961cab7d0e2d3dde8af9b6f637210533c8fee0ab18f6

description:
  _Class::ErrorHandler_ provides an error-handling mechanism that's generic
  enough to be used as the base class for a variety of OO classes. Subclasses
  inherit its two error-handling methods, _error_ and _errstr_, to
  communicate error messages back to the calling program.

  On failure (for whatever reason), a subclass should call _error_ and return
  to the caller; _error_ itself sets the error message internally, then
  returns 'undef'. This has the effect of the method that failed returning
  'undef' to the caller. The caller should check for errors by checking for a
  return value of 'undef', and calling _errstr_ to get the value of the error
  message on an error.

  As demonstrated in the SYNOPSIS, _error_ and _errstr_ work as both class
  methods and object methods.


name: perl-Class-Exporter
arch: noarch
version: 0.03
epoch: 0
release: 8.58
summary: Export class methods as regular subroutines
url: http://search.cpan.org/dist/Class-Exporter/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-atreju3
rpm_sourcerpm: perl-Class-Exporter-0.03-8.58.src.rpm
location_href: noarch/perl-Class-Exporter-0.03-8.58.noarch.rpm
checksum_type: sha512
pkgId:
  b4d694575fe01183d45dc97bd142027d8a6b683b6ae65e52194d336945deefb9b6014afe6dee4cfca776938b019161c49a75b56c08c05bfad7778d69bd50faef

description:
  This module makes it much easier to make a module have a hybrid
  object/method interface similar to the one of CGI.pm. You can take any old
  module that has an object- oriented interface and convert it to have a
  hybrid interface by simply adding "use base 'Class::Exporter'" to your
  code.

  This package allows you to export object methods. It supports 'import()',
  '@EXPORT' and '@EXPORT_OK' and not a whole lot else. Each package into
  which your object methods are imported gets its own instance of the object.
  This ensures that there are no interaction effects between multiple
  packages that use your object.

  Setting up a module to export its variables and functions is simple:

      package My::Module;
      use base 'Class::Exporter';

      @EXPORT = qw($Foo bar);

  now when you 'use My::Module', '$Foo' and 'bar()' will show up.

  In order to make exporting optional, use @EXPORT_OK.

      package My::Module;
      use base 'Class::Exporter';

      @EXPORT_OK = qw($Foo bar);

  when My::Module is used, '$Foo' and 'bar()' will _not_ show up. You have to
  ask for them. 'use My::Module qw($Foo bar)'.


name: perl-Class-Exporter
arch: src
version: 0.03
epoch: 0
release: 8.58
summary: Export class methods as regular subroutines
url: http://search.cpan.org/dist/Class-Exporter/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-atreju3
location_href: src/perl-Class-Exporter-0.03-8.58.src.rpm
checksum_type: sha512
pkgId:
  0699f1e87d1854d8965d704c210600d3d505bcdbac799e78009a13b2433cd2cfa67baf94586e0b056fe275a34cd68500a53459e818bb8921d2330599893b5f6b

description:
  This module makes it much easier to make a module have a hybrid
  object/method interface similar to the one of CGI.pm. You can take any old
  module that has an object- oriented interface and convert it to have a
  hybrid interface by simply adding "use base 'Class::Exporter'" to your
  code.

  This package allows you to export object methods. It supports 'import()',
  '@EXPORT' and '@EXPORT_OK' and not a whole lot else. Each package into
  which your object methods are imported gets its own instance of the object.
  This ensures that there are no interaction effects between multiple
  packages that use your object.

  Setting up a module to export its variables and functions is simple:

      package My::Module;
      use base 'Class::Exporter';

      @EXPORT = qw($Foo bar);

  now when you 'use My::Module', '$Foo' and 'bar()' will show up.

  In order to make exporting optional, use @EXPORT_OK.

      package My::Module;
      use base 'Class::Exporter';

      @EXPORT_OK = qw($Foo bar);

  when My::Module is used, '$Foo' and 'bar()' will _not_ show up. You have to
  ask for them. 'use My::Module qw($Foo bar)'.


name: perl-Class-Facade
arch: noarch
version: 0.01
epoch: 0
release: 9.54
summary: Interface to One or More Delegates
url: http://search.cpan.org/dist/Class-Facade/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb51
rpm_sourcerpm: perl-Class-Facade-0.01-9.54.src.rpm
location_href: noarch/perl-Class-Facade-0.01-9.54.noarch.rpm
checksum_type: sha512
pkgId:
  0905667273a50ef98bdb969feae87d01d8647fdd100c20041f0d8aed2e2cbc00e306edcb5f0558d1f9c0fa93a083d391ff2fe9fa85a3b3712d24a1b9ac8784ee

description:
  This module implements a simple facade class, allowing you to create
  objects that delegate their methods to subroutines or other object or class
  methods.

  To create a delegate object, simply call the new() constructor passing a
  reference to a hash array describing the methods and their delegates. Each
  key in the hash specifies a method name for your facade object. Each value
  specifies the delegate target and should be a reference to a subroutine,
  list or hash array.

  In the case of a list, the elements in the list should be a class name or
  object reference followed by a method name and a list of any arguments that
  you want passed to the method when it is called. Any additional arguments
  that the caller of the facade method specifies will also be passed.

  In the case of a hash, the 'class' or 'object' element specifies a class
  name or object references, the 'method' element names the class/object
  method to be called and 'args' is an optional reference to a list of
  arguments as above.

  The Class::Facade constructor creates accessor methods in the module's
  symbol table. One important side effect of this is that all methods defined
  will be created for all object of the same class. For this reason it is
  recommended that you create your own facade modules which are subclass from
  Class::Facade.

      package My::Facade::One;
      use base qw( Class::Facade );

      package My::Facade::Two;
      use base qw( Class::Facade );

      package main;
      my $one = My::Facade::One->new({ ... });
      my $two = My::Facade::Two->new({ ... });


name: perl-Class-Facade
arch: src
version: 0.01
epoch: 0
release: 9.54
summary: Interface to One or More Delegates
url: http://search.cpan.org/dist/Class-Facade/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb51
location_href: src/perl-Class-Facade-0.01-9.54.src.rpm
checksum_type: sha512
pkgId:
  6374fcf8a642bbfc8e7c13b61f0728f4e83bd02ae25c2ca3bdffaf4b3e52b2e7bc616ce26e0716a6baa619e06231409b562eef76ec8145b1b42385a28b41028f

description:
  This module implements a simple facade class, allowing you to create
  objects that delegate their methods to subroutines or other object or class
  methods.

  To create a delegate object, simply call the new() constructor passing a
  reference to a hash array describing the methods and their delegates. Each
  key in the hash specifies a method name for your facade object. Each value
  specifies the delegate target and should be a reference to a subroutine,
  list or hash array.

  In the case of a list, the elements in the list should be a class name or
  object reference followed by a method name and a list of any arguments that
  you want passed to the method when it is called. Any additional arguments
  that the caller of the facade method specifies will also be passed.

  In the case of a hash, the 'class' or 'object' element specifies a class
  name or object references, the 'method' element names the class/object
  method to be called and 'args' is an optional reference to a list of
  arguments as above.

  The Class::Facade constructor creates accessor methods in the module's
  symbol table. One important side effect of this is that all methods defined
  will be created for all object of the same class. For this reason it is
  recommended that you create your own facade modules which are subclass from
  Class::Facade.

      package My::Facade::One;
      use base qw( Class::Facade );

      package My::Facade::Two;
      use base qw( Class::Facade );

      package main;
      my $one = My::Facade::One->new({ ... });
      my $two = My::Facade::Two->new({ ... });


name: perl-Class-Factory
arch: noarch
version: 1.06
epoch: 0
release: 1.50
summary: Base class for dynamic factory classes
url: http://search.cpan.org/dist/Class-Factory/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep87
rpm_sourcerpm: perl-Class-Factory-1.06-1.50.src.rpm
location_href: noarch/perl-Class-Factory-1.06-1.50.noarch.rpm
checksum_type: sha512
pkgId:
  97228dea5079b0d77e79cf077aede82fddac02f71418bbcc3f6929c212b83f81bc1e69dad0233d7c178453637b072e922f5753124f89cc446f8f2b21a1bea5ae

description:
  This is a simple module that factory classes can use to generate new types
  of objects on the fly, providing a consistent interface to common groups of
  objects.

  Factory classes are used when you have different implementations for the
  same set of tasks but may not know in advance what implementations you will
  be using. Configuration files are a good example of this. There are four
  basic operations you would want to do with any configuration: read the file
  in, lookup a value, set a value, write the file out. There are also many
  different types of configuration files, and you may want users to be able
  to provide an implementation for their own home-grown configuration format.

  With a factory class this is easy. To create the factory class, just
  subclass 'Class::Factory' and create an interface for your configuration
  serializer. 'Class::Factory' even provides a simple constructor for you.
  Here's a sample interface and our two built-in configuration types:

   package My::ConfigFactory;

   use strict;
   use base qw( Class::Factory );

   sub read  { die "Define read() in implementation" }
   sub write { die "Define write() in implementation" }
   sub get   { die "Define get() in implementation" }
   sub set   { die "Define set() in implementation" }

   __PACKAGE__->add_factory_type( ini  => 'My::IniReader' );
   __PACKAGE__->add_factory_type( perl => 'My::PerlReader' );

   1;

  And then users can add their own subclasses:

   package My::CustomConfig;

   use strict;
   use base qw( My::ConfigFactory );

   sub init {
       my ( $self, $filename, $params ) = @_;
       if ( $params->{base_url} ) {
           $self->read_from_web( join( '/', $params->{base_url}, $filename ) );
       }
       else {
           $self->read( $filename );
       }
       return $self;
   }

   sub read  { ... implementation to read a file ... }
   sub write { ... implementation to write a file ...  }
   sub get   { ... implementation to get a value ... }
   sub set   { ... implementation to set a value ... }

   sub read_from_web { ... implementation to read via http ... }

   

   My::ConfigFactory->add_factory_type( 'mytype' => __PACKAGE__ );

   1;

  (You may not wish to make your factory the same as your interface, but this
  is an abbreviated example.)

  So now users can use the custom configuration with something like:

   

   use strict;
   use My::ConfigFactory;
   use My::CustomConfig;   # this adds the factory type 'custom'...

   my $config = My::ConfigFactory->new( 'custom', 'myconf.dat' );
   print "Configuration is a: ", ref( $config ), "\n";

  Which prints:

   Configuration is a My::CustomConfig

  And they can even add their own:

   My::ConfigFactory->register_factory_type( 'newtype' => 'My::New::ConfigReader' );

  This might not seem like a very big win, and for small standalone
  applications probably isn't. But when you develop large applications the
  '(add|register)_factory_type()' step will almost certainly be done at
  application initialization time, hidden away from the eyes of the
  application developer. That developer will only know that she can access
  the different object types as if they are part of the system.

  As you see in the example above implementation for subclasses is very
  simple -- just add 'Class::Factory' to your inheritance tree and you are
  done.


name: perl-Class-Factory
arch: src
version: 1.06
epoch: 0
release: 1.50
summary: Base class for dynamic factory classes
url: http://search.cpan.org/dist/Class-Factory/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep87
location_href: src/perl-Class-Factory-1.06-1.50.src.rpm
checksum_type: sha512
pkgId:
  218c767d0f337d5ff0fb25eb9d69ea91d83a5a524134592893e75e279327b7db8a96eb725574ffcf89eef6e33f81a39c16afcda4145a122f68b35623b2d9a96c

description:
  This is a simple module that factory classes can use to generate new types
  of objects on the fly, providing a consistent interface to common groups of
  objects.

  Factory classes are used when you have different implementations for the
  same set of tasks but may not know in advance what implementations you will
  be using. Configuration files are a good example of this. There are four
  basic operations you would want to do with any configuration: read the file
  in, lookup a value, set a value, write the file out. There are also many
  different types of configuration files, and you may want users to be able
  to provide an implementation for their own home-grown configuration format.

  With a factory class this is easy. To create the factory class, just
  subclass 'Class::Factory' and create an interface for your configuration
  serializer. 'Class::Factory' even provides a simple constructor for you.
  Here's a sample interface and our two built-in configuration types:

   package My::ConfigFactory;

   use strict;
   use base qw( Class::Factory );

   sub read  { die "Define read() in implementation" }
   sub write { die "Define write() in implementation" }
   sub get   { die "Define get() in implementation" }
   sub set   { die "Define set() in implementation" }

   __PACKAGE__->add_factory_type( ini  => 'My::IniReader' );
   __PACKAGE__->add_factory_type( perl => 'My::PerlReader' );

   1;

  And then users can add their own subclasses:

   package My::CustomConfig;

   use strict;
   use base qw( My::ConfigFactory );

   sub init {
       my ( $self, $filename, $params ) = @_;
       if ( $params->{base_url} ) {
           $self->read_from_web( join( '/', $params->{base_url}, $filename ) );
       }
       else {
           $self->read( $filename );
       }
       return $self;
   }

   sub read  { ... implementation to read a file ... }
   sub write { ... implementation to write a file ...  }
   sub get   { ... implementation to get a value ... }
   sub set   { ... implementation to set a value ... }

   sub read_from_web { ... implementation to read via http ... }

   

   My::ConfigFactory->add_factory_type( 'mytype' => __PACKAGE__ );

   1;

  (You may not wish to make your factory the same as your interface, but this
  is an abbreviated example.)

  So now users can use the custom configuration with something like:

   

   use strict;
   use My::ConfigFactory;
   use My::CustomConfig;   # this adds the factory type 'custom'...

   my $config = My::ConfigFactory->new( 'custom', 'myconf.dat' );
   print "Configuration is a: ", ref( $config ), "\n";

  Which prints:

   Configuration is a My::CustomConfig

  And they can even add their own:

   My::ConfigFactory->register_factory_type( 'newtype' => 'My::New::ConfigReader' );

  This might not seem like a very big win, and for small standalone
  applications probably isn't. But when you develop large applications the
  '(add|register)_factory_type()' step will almost certainly be done at
  application initialization time, hidden away from the eyes of the
  application developer. That developer will only know that she can access
  the different object types as if they are part of the system.

  As you see in the example above implementation for subclasses is very
  simple -- just add 'Class::Factory' to your inheritance tree and you are
  done.


name: perl-Class-Factory-Enhanced
arch: noarch
version: 1.101420
epoch: 0
release: 8.57
summary: More functionality for Class::Factory
description: This class subclasses Class::Factory and adds some functionality.
url: http://search.cpan.org/dist/Class-Factory-Enhanced/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat15
rpm_sourcerpm: perl-Class-Factory-Enhanced-1.101420-8.57.src.rpm
location_href: noarch/perl-Class-Factory-Enhanced-1.101420-8.57.noarch.rpm
checksum_type: sha512
pkgId:
  189ade5dde59db24d32b359d147910785c8f208786dcac9a7d8408764fa1caaadb82579688b2720666f44ffc1d1b7d2fe6132bfff30f52d45c843aa09213295a


name: perl-Class-Factory-Enhanced
arch: src
version: 1.101420
epoch: 0
release: 8.57
summary: More functionality for Class::Factory
description: This class subclasses Class::Factory and adds some functionality.
url: http://search.cpan.org/dist/Class-Factory-Enhanced/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat15
location_href: src/perl-Class-Factory-Enhanced-1.101420-8.57.src.rpm
checksum_type: sha512
pkgId:
  166a596e9f534e4ed0d16dcefa1999c1c83ee95901b8b0e597272dceff276f810e7ca2c4a0ceec4bc93633faffbd253fe6cb585207968d48337c8982fa46f456


name: perl-Class-Factory-Util
arch: noarch
version: 1.7
epoch: 0
release: 1.47
summary: Provide utility methods for factory classes
description: This module exports a method that is useful for factory classes.
url: http://search.cpan.org/dist/Class-Factory-Util/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb27
rpm_sourcerpm: perl-Class-Factory-Util-1.7-1.47.src.rpm
location_href: noarch/perl-Class-Factory-Util-1.7-1.47.noarch.rpm
checksum_type: sha512
pkgId:
  34a13deb0cb3683f6cfc78b4476351ce259e83449c460e740df44244f6bac964ca9e3c07f4e19a038b5f19879e4d5904c0c01ae089e37e3af14bf290d6f4e510


name: perl-Class-Factory-Util
arch: src
version: 1.7
epoch: 0
release: 1.47
summary: Provide utility methods for factory classes
description: This module exports a method that is useful for factory classes.
url: http://search.cpan.org/dist/Class-Factory-Util/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb27
location_href: src/perl-Class-Factory-Util-1.7-1.47.src.rpm
checksum_type: sha512
pkgId:
  8bef13cd60c1882ce93ca208298649c7443a581d81091530ad501a10496b31b0bc5b3aaeadf0cd955ca6f3861db1e8da4abec0d663c0a6e3218515708b4e59a9


name: perl-Class-FakeAttributes
arch: noarch
version: 0.01
epoch: 0
release: 8.52
summary: Provide fake attributes for non-hash-based objects
url: http://search.cpan.org/dist/Class-FakeAttributes/
rpm_license: Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb54
rpm_sourcerpm: perl-Class-FakeAttributes-0.01-8.52.src.rpm
location_href: noarch/perl-Class-FakeAttributes-0.01-8.52.noarch.rpm
checksum_type: sha512
pkgId:
  3882e85ba8abd5e8a73d061761520b0c3973a78fc87763fe4bc7e6d6fc1d91e7a504d685c5dc93a5f7c41b8776e2f09dc4fdcd48e8ec672658fb6ffb749ecd6b

description:
  Most Perl classes use hash-based objects, and subclasses can easily add
  more attributes (instance data) with new hash keys. But some classes are
  not based on hashes. A subclass of such a class can use
  'Class::FakeAttributes' to add attributes (or at least to emulate doing
  so).

  'Class::FakeAttributes' is a mixin class: the only sensible use is to
  inherit from it, and it only makes sense to do that when also inheriting
  from something else as well.


name: perl-Class-FakeAttributes
arch: src
version: 0.01
epoch: 0
release: 8.52
summary: Provide fake attributes for non-hash-based objects
url: http://search.cpan.org/dist/Class-FakeAttributes/
rpm_license: Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb54
location_href: src/perl-Class-FakeAttributes-0.01-8.52.src.rpm
checksum_type: sha512
pkgId:
  464f216d05adb7f5f0cc7e53debd448ac2e3d106be009950194e526f9b37b38d2f14f5d84f0196e3bf987fc5e13ed4bb641ffe52a123ecdfdcb092712a2d9bde

description:
  Most Perl classes use hash-based objects, and subclasses can easily add
  more attributes (instance data) with new hash keys. But some classes are
  not based on hashes. A subclass of such a class can use
  'Class::FakeAttributes' to add attributes (or at least to emulate doing
  so).

  'Class::FakeAttributes' is a mixin class: the only sensible use is to
  inherit from it, and it only makes sense to do that when also inheriting
  from something else as well.


name: perl-Class-Field
arch: noarch
version: 0.24
epoch: 0
release: 1.35
summary: Class Field Accessor Generator
url: https://metacpan.org/release/Class-Field
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: beatles
rpm_sourcerpm: perl-Class-Field-0.24-1.35.src.rpm
location_href: noarch/perl-Class-Field-0.24-1.35.noarch.rpm
checksum_type: sha512
pkgId:
  fc4fba83d8723d3d7880bbd6fef3e1148a80e1d4a71bee4310736d020847dff8d1bc1c0210b21e448e88f18b0d4a99f07872c5f4265361e215b46bd3fc90f0d9

description:
  Class::Field exports two subroutines, 'field' and 'const'. These functions
  are used to declare fields and constants in your class.

  Class::Field generates custom code for each accessor that is optimized for
  speed.


name: perl-Class-Field
arch: src
version: 0.24
epoch: 0
release: 1.35
summary: Class Field Accessor Generator
url: https://metacpan.org/release/Class-Field
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: beatles
location_href: src/perl-Class-Field-0.24-1.35.src.rpm
checksum_type: sha512
pkgId:
  e895562edd021748392806524445091cde703523e542d1dbacc1b4b03797ad954bde80b76d17a624100852d007b05b640d7bffd653e89403af70ba272f8c92b6

description:
  Class::Field exports two subroutines, 'field' and 'const'. These functions
  are used to declare fields and constants in your class.

  Class::Field generates custom code for each accessor that is optimized for
  speed.


name: perl-Class-Fields
arch: noarch
version: 0.204
epoch: 0
release: 1.53
summary: Inspect the fields of a class
url: http://search.cpan.org/dist/Class-Fields/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep85
rpm_sourcerpm: perl-Class-Fields-0.204-1.53.src.rpm
location_href: noarch/perl-Class-Fields-0.204-1.53.noarch.rpm
checksum_type: sha512
pkgId:
  1f199b4688cb6b9fa81246ecf3c2fa9a1ce66a4f0110c72b72a82b0d967054544a840e4236108bf0db30fb37e5cbbcea3e6412e3354ecfa5aa93f9887ff31751

description:
  *NOTE* This module, and the fields system, is largely obsolete. Please
  consider using one of the many accessor generating modules, or just skip
  directly to a complete object oriented system like Moose or Mouse.

  A collection of utility functions/methods for examining the data members of
  a class. It provides a nice, high-level interface that should stand the
  test of time and Perl upgrades nicely.

  The functions in this module also serve double-duty as methods and can be
  used that way by having your module inherit from it. For example:

      package Foo;
      use base qw( Class::Fields );
      use fields qw( this that _whatever );

      print "'_whatever' is a private data member of 'Foo'" if
          Foo->is_private('_whatever');

      
      $obj = Foo->new;
      print "'this' is a public data member of 'Foo'" if
          $obj->is_public('this');

  * *is_field*

    is_field($class, $field);
    $class->is_field($field);

  Simply asks if a given $class has the given $field defined in it.

  * *is_public*

  * *is_private*

  * *is_protected*

  * *is_inherited*

    is_public($class, $field);
    is_private($class, $field);
    ...etc...
          or
    $obj->is_public($field);
          or
    Class->is_public($field);

  A bunch of functions to quickly check if a given $field in a given $class
  is of a given type. For example...

    package Foo;
    use public  qw( Ford   );
    use private qw( _Nixon );

    package Bar;
    use base qw(Foo);

    
    
    
    print 'Ford is public'        if is_public('Bar', 'Ford');
    print '_Nixon is inherited'   if is_inherited('Foo', '_Nixon');

  * *show_fields*

    @all_fields   = show_fields($class);
    @fields       = show_fields($class, @attribs);
          or
    @all_fields   = $obj->show_fields;
    @fields       = $obj->show_fields(@attribs);
          or
    @all_fields   = Class->show_fields;
    @fields       = Class->show_fields(@attribs);

  This will list all fields in a given $class that have the given set of
  @attribs. If @attribs is not given it will simply list all fields.

  The currently available attributes are: Public, Private, Protected and
  Inherited

  For example:

      package Foo;
      use fields qw(this that meme);

      package Bar;
      use Class::Fields;
      use base qw(Foo);
      use fields qw(salmon);

      
      
      
      @fields = show_fields('Bar', qw(Public Inherited));

  * *field_attrib_mask*

    $attrib = field_attrib_mask($class, $field);
          or
    $attrib = $obj->field_attrib_mask($field);
          or
    $attrib = Class->field_attrib_mask($field);

  It will tell you the numeric attribute for the given $field in the given
  $class. $attrib is a bitmask which must be interpreted with the PUBLIC,
  PRIVATE, etc... constants from Class::Fields::Attrib.

  field_attribs() is probably easier to work with in general.

  * *field_attribs*

    @attribs = field_attribs($class, $field);
          or
    @attribs = $obj->field_attribs($field);
          or
    @attribs = Class->field_attribs($field);

  Exactly the same as field_attrib_mask(), except that instead of returning a
  bitmask it returns a somewhat friendlier list of attributes which are
  applied to this field. For example...

    package Foo;
    use fields qw( yarrow );

    package Bar;
    use base qw(Foo);

    
    @attribs = field_attribs('Bar', 'yarrow');

  The attributes returned are the same as those taken by show_fields().

  * *dump_all_attribs*

    dump_all_attribs;
    dump_all_attribs(@classes);
          or
    Class->dump_all_attribs;
          or
    $obj->dump_all_attribs;

  A debugging tool which simply prints to STDERR everything it can about a
  given set of @classes in a relatively formated manner.

  Alas, this function works slightly differently if used as a function as
  opposed to a method:

  When called as a function it will print out attribute information about all
  @classes given. If no @classes are given it will print out the attributes
  of -every- class it can find that has attributes.

  When uses as a method, it will print out attribute information for the
  class or object which uses the method. No arguments are accepted.

  I'm not entirely happy about this split and I might change it in the
  future.


name: perl-Class-Fields
arch: src
version: 0.204
epoch: 0
release: 1.53
summary: Inspect the fields of a class
url: http://search.cpan.org/dist/Class-Fields/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep85
location_href: src/perl-Class-Fields-0.204-1.53.src.rpm
checksum_type: sha512
pkgId:
  67ce0df25b693b8947f1b22e9cf6160b524cc1b4f176a1f2f41b0047fbdc02d3e1a77336c6b1ee0fc3d5605238e85850b638f3e034eb30608eaadc62072eed84

description:
  *NOTE* This module, and the fields system, is largely obsolete. Please
  consider using one of the many accessor generating modules, or just skip
  directly to a complete object oriented system like Moose or Mouse.

  A collection of utility functions/methods for examining the data members of
  a class. It provides a nice, high-level interface that should stand the
  test of time and Perl upgrades nicely.

  The functions in this module also serve double-duty as methods and can be
  used that way by having your module inherit from it. For example:

      package Foo;
      use base qw( Class::Fields );
      use fields qw( this that _whatever );

      print "'_whatever' is a private data member of 'Foo'" if
          Foo->is_private('_whatever');

      
      $obj = Foo->new;
      print "'this' is a public data member of 'Foo'" if
          $obj->is_public('this');

  * *is_field*

    is_field($class, $field);
    $class->is_field($field);

  Simply asks if a given $class has the given $field defined in it.

  * *is_public*

  * *is_private*

  * *is_protected*

  * *is_inherited*

    is_public($class, $field);
    is_private($class, $field);
    ...etc...
          or
    $obj->is_public($field);
          or
    Class->is_public($field);

  A bunch of functions to quickly check if a given $field in a given $class
  is of a given type. For example...

    package Foo;
    use public  qw( Ford   );
    use private qw( _Nixon );

    package Bar;
    use base qw(Foo);

    
    
    
    print 'Ford is public'        if is_public('Bar', 'Ford');
    print '_Nixon is inherited'   if is_inherited('Foo', '_Nixon');

  * *show_fields*

    @all_fields   = show_fields($class);
    @fields       = show_fields($class, @attribs);
          or
    @all_fields   = $obj->show_fields;
    @fields       = $obj->show_fields(@attribs);
          or
    @all_fields   = Class->show_fields;
    @fields       = Class->show_fields(@attribs);

  This will list all fields in a given $class that have the given set of
  @attribs. If @attribs is not given it will simply list all fields.

  The currently available attributes are: Public, Private, Protected and
  Inherited

  For example:

      package Foo;
      use fields qw(this that meme);

      package Bar;
      use Class::Fields;
      use base qw(Foo);
      use fields qw(salmon);

      
      
      
      @fields = show_fields('Bar', qw(Public Inherited));

  * *field_attrib_mask*

    $attrib = field_attrib_mask($class, $field);
          or
    $attrib = $obj->field_attrib_mask($field);
          or
    $attrib = Class->field_attrib_mask($field);

  It will tell you the numeric attribute for the given $field in the given
  $class. $attrib is a bitmask which must be interpreted with the PUBLIC,
  PRIVATE, etc... constants from Class::Fields::Attrib.

  field_attribs() is probably easier to work with in general.

  * *field_attribs*

    @attribs = field_attribs($class, $field);
          or
    @attribs = $obj->field_attribs($field);
          or
    @attribs = Class->field_attribs($field);

  Exactly the same as field_attrib_mask(), except that instead of returning a
  bitmask it returns a somewhat friendlier list of attributes which are
  applied to this field. For example...

    package Foo;
    use fields qw( yarrow );

    package Bar;
    use base qw(Foo);

    
    @attribs = field_attribs('Bar', 'yarrow');

  The attributes returned are the same as those taken by show_fields().

  * *dump_all_attribs*

    dump_all_attribs;
    dump_all_attribs(@classes);
          or
    Class->dump_all_attribs;
          or
    $obj->dump_all_attribs;

  A debugging tool which simply prints to STDERR everything it can about a
  given set of @classes in a relatively formated manner.

  Alas, this function works slightly differently if used as a function as
  opposed to a method:

  When called as a function it will print out attribute information about all
  @classes given. If no @classes are given it will print out the attributes
  of -every- class it can find that has attributes.

  When uses as a method, it will print out attribute information for the
  class or object which uses the method. No arguments are accepted.

  I'm not entirely happy about this split and I might change it in the
  future.


name: perl-Class-Frame
arch: noarch
version: 1.0
epoch: 0
release: 9.53
summary: Class template with default constructor and accessors autogenerated
url: http://search.cpan.org/dist/Class-Frame/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep86
rpm_sourcerpm: perl-Class-Frame-1.0-9.53.src.rpm
location_href: noarch/perl-Class-Frame-1.0-9.53.noarch.rpm
checksum_type: sha512
pkgId:
  b45635ea22fefde4b10314ca56991ec4e05daddef639ac49db4df65ac1b2be280c4df233880bc6d894aed4cd78f8b9a4a0e7e585b07d68144c25bdac68cf05f8

description:
  * *Learn Class::Frame in 5 seconds!*

  To start using Class::Frame as base class you will need to make 8, err, 2
  easy steps :-)

  1) Create your class

  	package Jedi;

  	use strict;
  	use base qw( Class::Frame );
  	use Class::Frame; # Exports DEFINE_FIELDS helper function

  	
  	
  	
  	

  	DEFINE_FIELDS(
  		name => undef,
  		points => 140,
  		weapon => Jedi::Weapon::Lightsaber
  	);

  2) In your code there you are going to use My::Class:

  	use Jedi;

  	. . .

  	
  	my $kit_fisto = Jedi->new(name => 'Kit Fisto');
  	$kit_fisto->weapon->activate();

  	. . .

  * *Class Declaration*

  DEFINE_FIELDS( <field_name> => <default_value>, ... )

  	This method creates accessors and constructor for the class it has been
  	called from. Input - hash of fields and their default_values. If default
  	value is undef please specify so EXPLICITLY

  * *Generated constructor*

  new( [<field_name> => <value> [ , ... ]] )

  	Creates new instance of class derived from Class::Frame. Accepts a hash
  	containing field names as keys and field initializing values as values.
  	If field has init value then its default value will be overriden,
  	otherwise - default value will be used (if provided in class declaration).

  * *Accessors*

  <field_name>

  	Gets field value

  	Example:

  	my $jedi_name = $jedi->name;

  get_<field_name>

  	Another way to get field value

  	Examle:

  	my $jedi_name = $jedi->get_name;

  get_<field_name>_default

  	Gets field default value from class declaration

  	Examle:

  		my $default_weapon = $jedi->get_weapon_default;

  set_<field_name>( <value> )

  	Sets field to value passed even if it is 'undef' ( which
  	sometimes is handy )

  	Example:

  		$jedi->set_weapon(Jedi::Weapon::DualBladeLightSaber->new());
  		$jedi->set_dark_side_points(undef);


name: perl-Class-Frame
arch: src
version: 1.0
epoch: 0
release: 9.53
summary: Class template with default constructor and accessors autogenerated
url: http://search.cpan.org/dist/Class-Frame/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep86
location_href: src/perl-Class-Frame-1.0-9.53.src.rpm
checksum_type: sha512
pkgId:
  75d8a9b2f53c1ca623802d6aa4947907b86e8629a066a91438101c6ab2c9900a9598dd61d17b7010d57360ba4c8d065d53ffbf172fc370968348cde4e0c1ee3b

description:
  * *Learn Class::Frame in 5 seconds!*

  To start using Class::Frame as base class you will need to make 8, err, 2
  easy steps :-)

  1) Create your class

  	package Jedi;

  	use strict;
  	use base qw( Class::Frame );
  	use Class::Frame; # Exports DEFINE_FIELDS helper function

  	
  	
  	
  	

  	DEFINE_FIELDS(
  		name => undef,
  		points => 140,
  		weapon => Jedi::Weapon::Lightsaber
  	);

  2) In your code there you are going to use My::Class:

  	use Jedi;

  	. . .

  	
  	my $kit_fisto = Jedi->new(name => 'Kit Fisto');
  	$kit_fisto->weapon->activate();

  	. . .

  * *Class Declaration*

  DEFINE_FIELDS( <field_name> => <default_value>, ... )

  	This method creates accessors and constructor for the class it has been
  	called from. Input - hash of fields and their default_values. If default
  	value is undef please specify so EXPLICITLY

  * *Generated constructor*

  new( [<field_name> => <value> [ , ... ]] )

  	Creates new instance of class derived from Class::Frame. Accepts a hash
  	containing field names as keys and field initializing values as values.
  	If field has init value then its default value will be overriden,
  	otherwise - default value will be used (if provided in class declaration).

  * *Accessors*

  <field_name>

  	Gets field value

  	Example:

  	my $jedi_name = $jedi->name;

  get_<field_name>

  	Another way to get field value

  	Examle:

  	my $jedi_name = $jedi->get_name;

  get_<field_name>_default

  	Gets field default value from class declaration

  	Examle:

  		my $default_weapon = $jedi->get_weapon_default;

  set_<field_name>( <value> )

  	Sets field to value passed even if it is 'undef' ( which
  	sometimes is handy )

  	Example:

  		$jedi->set_weapon(Jedi::Weapon::DualBladeLightSaber->new());
  		$jedi->set_dark_side_points(undef);


name: perl-Class-GAPI
arch: noarch
version: 1.1
epoch: 0
release: 9.61
summary: Generic API, Base class with autoloaded methods, stub objects, cloning etc
url: http://search.cpan.org/dist/Class-GAPI/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep88
rpm_sourcerpm: perl-Class-GAPI-1.1-9.61.src.rpm
location_href: noarch/perl-Class-GAPI-1.1-9.61.noarch.rpm
checksum_type: sha512
pkgId:
  004878d207a5edc297b7a7921ef58f6774d24fee4c4ab8adf2dd73b6f070e3bb3b971f3674f15b70f3e4b85c72cc676ac3aac5521ab31fca578bbee3f136644f

description:
  This is a foundation class. It is intended to be inhertied and used as a
  framework for other objects. This module features autoloaded methods
  (set+get as one method), three styles of initialization, tools for handling
  stub objects, and cloning. It is particularly well suited to handling
  record list type structures, deeply nested trees and those on-the-fly data
  structures that give Perl a reputation as being a language of line noise.
  GAPI breaks a few rules and create a few others. Overall it just makes
  coding complex nested data structures a heck of a lot easier.


name: perl-Class-GAPI
arch: src
version: 1.1
epoch: 0
release: 9.61
summary: Generic API, Base class with autoloaded methods, stub objects, cloning etc
url: http://search.cpan.org/dist/Class-GAPI/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep88
location_href: src/perl-Class-GAPI-1.1-9.61.src.rpm
checksum_type: sha512
pkgId:
  9a4f2d87af9fa528389cf8efccd8af46a350f8896dca786000f18db20655bbe8711ce42bab74fa0999da8068efbd417f9ca735a06c23ddb287a7d4365b0bda5a

description:
  This is a foundation class. It is intended to be inhertied and used as a
  framework for other objects. This module features autoloaded methods
  (set+get as one method), three styles of initialization, tools for handling
  stub objects, and cloning. It is particularly well suited to handling
  record list type structures, deeply nested trees and those on-the-fly data
  structures that give Perl a reputation as being a language of line noise.
  GAPI breaks a few rules and create a few others. Overall it just makes
  coding complex nested data structures a heck of a lot easier.


name: perl-Class-GenSource
arch: noarch
version: 0.06
epoch: 0
release: 2.62
summary: Generate Perl source code to declare a class
description: Generate Perl source code to declare a class
url: http://search.cpan.org/dist/Class-GenSource/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb58
rpm_sourcerpm: perl-Class-GenSource-0.06-2.62.src.rpm
location_href: noarch/perl-Class-GenSource-0.06-2.62.noarch.rpm
checksum_type: sha512
pkgId:
  f9429cf56c81c9947c27825fe55b7174dc07ba678ed2aebf1dd35370bc1e6535f7b198050d198dcf080a15d9779a8aaed2c334d1479ffdfdf6c12d9280d2b294


name: perl-Class-GenSource
arch: src
version: 0.06
epoch: 0
release: 2.62
summary: Generate Perl source code to declare a class
description: Generate Perl source code to declare a class
url: http://search.cpan.org/dist/Class-GenSource/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb58
location_href: src/perl-Class-GenSource-0.06-2.62.src.rpm
checksum_type: sha512
pkgId:
  78973342a92bfcd6d41d70d544cca9fee6ecd1eab80cf38d722cb784c9aa521433cad8acba623a1162777393e9bcf440ec07f8bc1bdf36f7fc90e8f93f65b81e


name: perl-Class-Generate
arch: noarch
version: 1.18
epoch: 0
release: 1.31
summary: Generate Perl class hierarchies
url: https://metacpan.org/release/Class-Generate
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: hci-snode4-m0
rpm_sourcerpm: perl-Class-Generate-1.18-1.31.src.rpm
location_href: noarch/perl-Class-Generate-1.18-1.31.noarch.rpm
checksum_type: sha512
pkgId:
  239ffdbad9d4c0bfb9376c334c1ec0c462d9a92fbc1b3eaa69477ed90ec1ae780fba588befb6db91c14d68c56447493b5092fbc8717f83f1d2773260ec322ed3

description:
  The 'Class::Generate' package exports functions that take as arguments a
  class specification and create from these specifications a Perl 5 class.
  The specification language allows many object-oriented constructs: typed
  members, inheritance, private members, required members, default values,
  object methods, class methods, class variables, and more.

  CPAN contains similar packages. Why another? Because object-oriented
  programming, especially in a dynamic language like Perl, is a complicated
  endeavor. I wanted a package that would work very hard to catch the errors
  you (well, I anyway) commonly make. I wanted a package that could help me
  enforce the contract of object-oriented programming. I also wanted it to
  get out of my way when I asked.


name: perl-Class-Generate
arch: src
version: 1.18
epoch: 0
release: 1.31
summary: Generate Perl class hierarchies
url: https://metacpan.org/release/Class-Generate
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: hci-snode4-m0
location_href: src/perl-Class-Generate-1.18-1.31.src.rpm
checksum_type: sha512
pkgId:
  0cc9701816bbffa57ec5f6dc9b8b4ea3b137778bdf3b117dd82c12d34133b8cf8272b27b325096cf1766618d2d0a0836884e77e5eb32ae38a3737690b1ee2f93

description:
  The 'Class::Generate' package exports functions that take as arguments a
  class specification and create from these specifications a Perl 5 class.
  The specification language allows many object-oriented constructs: typed
  members, inheritance, private members, required members, default values,
  object methods, class methods, class variables, and more.

  CPAN contains similar packages. Why another? Because object-oriented
  programming, especially in a dynamic language like Perl, is a complicated
  endeavor. I wanted a package that would work very hard to catch the errors
  you (well, I anyway) commonly make. I wanted a package that could help me
  enforce the contract of object-oriented programming. I also wanted it to
  get out of my way when I asked.


name: perl-Class-Gomor
arch: noarch
version: 1.03
epoch: 0
release: 1.51
summary: Another Class and Object Builder
url: http://search.cpan.org/dist/Class-Gomor/
rpm_license: Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus1
rpm_sourcerpm: perl-Class-Gomor-1.03-1.51.src.rpm
location_href: noarch/perl-Class-Gomor-1.03-1.51.noarch.rpm
checksum_type: sha512
pkgId:
  14758dd6750c5bdd5dceca2cb04406b1dbd8cea5e2f6c1f214c5c3b7f081394c0f70d9b902b6aacea9f95a06571d2a14dc3154a9b77143e2728a9b95078a5adb

description:
  This module is yet another class builder. This one adds parameter checking
  in *new* constructor, that is to check for attributes existence, and
  definedness.

  In order to validate parameters, the module needs to find attributes, and
  that is the reason for declaring attributes in global variables named
  *@AS*, *@AA*, *@AO*. They respectively state for Attributes Scalar,
  Attributes Array and Attributes Other. The last one is used to avoid
  autocreation of accessors, that is to let you declare your own ones.

  Attribute validation is performed by looking at classes hierarchy, by
  following @ISA tree inheritance.

  The loss in speed by validating all attributes is quite negligeable on a
  decent machine (Pentium IV, 2.4 GHz) with Perl 5.8.x. But if you want to
  avoid checking, you can do it, see below.

  This class is the base class for *Class::Gomor::Array* and
  *Class::Gomor::Hash*, so they will inherite the following methods.


name: perl-Class-Gomor
arch: src
version: 1.03
epoch: 0
release: 1.51
summary: Another Class and Object Builder
url: http://search.cpan.org/dist/Class-Gomor/
rpm_license: Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus1
location_href: src/perl-Class-Gomor-1.03-1.51.src.rpm
checksum_type: sha512
pkgId:
  e25410623530569882c92c97dd10e17d0e7ae2607ae46c268044b4bd5fe62b7ea1cd517e16e74216e8461db682b8c7bd6fe3b19669a8461450e6b2ecb07683ad

description:
  This module is yet another class builder. This one adds parameter checking
  in *new* constructor, that is to check for attributes existence, and
  definedness.

  In order to validate parameters, the module needs to find attributes, and
  that is the reason for declaring attributes in global variables named
  *@AS*, *@AA*, *@AO*. They respectively state for Attributes Scalar,
  Attributes Array and Attributes Other. The last one is used to avoid
  autocreation of accessors, that is to let you declare your own ones.

  Attribute validation is performed by looking at classes hierarchy, by
  following @ISA tree inheritance.

  The loss in speed by validating all attributes is quite negligeable on a
  decent machine (Pentium IV, 2.4 GHz) with Perl 5.8.x. But if you want to
  avoid checking, you can do it, see below.

  This class is the base class for *Class::Gomor::Array* and
  *Class::Gomor::Hash*, so they will inherite the following methods.


name: perl-Class-HPLOO
arch: noarch
version: 0.15
epoch: 0
release: 117.1
summary: Easier way to declare classes on Perl, based in the popular class {...} [cut]
url: http://search.cpan.org/dist/Class-HPLOO/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: localhost
rpm_sourcerpm: perl-Class-HPLOO-0.15-117.1.src.rpm
location_href: noarch/perl-Class-HPLOO-0.15-117.1.noarch.rpm
checksum_type: sha512
pkgId:
  947addd8a1b0cc45ea3cd0dd24efdf040174ffcb476d88617c51433d0417afe82221e048805506ce5aa5b3149719e4396c5f6f1381156542c3697c703dca0fe1

description:
  This is the implemantation of OO-Classes for HPL. This brings an easy way
  to create PM classes, but with HPL resources/style.


name: perl-Class-HPLOO
arch: src
version: 0.15
epoch: 0
release: 117.1
summary: Easier way to declare classes on Perl, based in the popular class {...} [cut]
url: http://search.cpan.org/dist/Class-HPLOO/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: localhost
location_href: src/perl-Class-HPLOO-0.15-117.1.src.rpm
checksum_type: sha512
pkgId:
  3a3d624698e635e45e6c79d68b095aad8c22dafaa983adaa220a658e3d1193ea26b955a7993930cc65d75dc69e02bb3483030ab9a1613bf2f5695d72270934a9

description:
  This is the implemantation of OO-Classes for HPL. This brings an easy way
  to create PM classes, but with HPL resources/style.


name: perl-Class-Handle
arch: noarch
version: 1.07
epoch: 0
release: 2.32
summary: Create objects that are handles to Classes
url: https://metacpan.org/release/Class-Handle
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb15
rpm_sourcerpm: perl-Class-Handle-1.07-2.32.src.rpm
location_href: noarch/perl-Class-Handle-1.07-2.32.noarch.rpm
checksum_type: sha512
pkgId:
  46edd491e92f1c4319f9b9a2fddffec52645bc6451506b9eab907582d0670b8d60b2bc18afd37d175eafb805e62266ffcf494b0a44c69a7bbfe0f0b40674e77e

description:
  Class related functionality in Perl is broken up into a variety of
  different modules. Class::Handle attempts to provide a convenient object
  wrapper around the various different types of functions that can be
  performed on a class.

  Please note that this is an initial non-production quality release, and
  should be used as such. Functionality and API are subject to change without
  notice.

  Currently, Class::Handle provies what is effectively a combined API from
  'UNIVERSAL', 'Class::ISA' and 'Class::Inspector' for obtaining information
  about a Class, and some additional task methods, such as 'load' to common
  tasks relating to classes.


name: perl-Class-Handle
arch: src
version: 1.07
epoch: 0
release: 2.32
summary: Create objects that are handles to Classes
url: https://metacpan.org/release/Class-Handle
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb15
location_href: src/perl-Class-Handle-1.07-2.32.src.rpm
checksum_type: sha512
pkgId:
  2b6aae28e2012284e14e8a077eaa0a07c67ae58e56e748265813e5ee9f8fda25c0be1392268a841a54d9f3138427b6a2e85aa0f227dbc00260d784e7df984494

description:
  Class related functionality in Perl is broken up into a variety of
  different modules. Class::Handle attempts to provide a convenient object
  wrapper around the various different types of functions that can be
  performed on a class.

  Please note that this is an initial non-production quality release, and
  should be used as such. Functionality and API are subject to change without
  notice.

  Currently, Class::Handle provies what is effectively a combined API from
  'UNIVERSAL', 'Class::ISA' and 'Class::Inspector' for obtaining information
  about a Class, and some additional task methods, such as 'load' to common
  tasks relating to classes.


name: perl-Class-Handler
arch: noarch
version: 1.03
epoch: 0
release: 8.60
summary: Create Apache-like pseudoclass event handlers
description: Create Apache-like pseudoclass event handlers
url: http://search.cpan.org/dist/Class-Handler/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep88
rpm_sourcerpm: perl-Class-Handler-1.03-8.60.src.rpm
location_href: noarch/perl-Class-Handler-1.03-8.60.noarch.rpm
checksum_type: sha512
pkgId:
  622e0e42f33194a1e67afa90c9f02be431b35318af6a2264ac42263fb3310819549ba9b26fb6d3cdbc400b7f86d99c67a09946b5f597461186c1e7aeea22237a


name: perl-Class-Handler
arch: src
version: 1.03
epoch: 0
release: 8.60
summary: Create Apache-like pseudoclass event handlers
description: Create Apache-like pseudoclass event handlers
url: http://search.cpan.org/dist/Class-Handler/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep88
location_href: src/perl-Class-Handler-1.03-8.60.src.rpm
checksum_type: sha512
pkgId:
  a55155ad7010a7abb341f2e4feb8e00978b6b0bc942848a5925bc993b45f533fbb45eed7be24ea0923ff53f427af4499ce54fa6184c3463c69c98d0130ca8007


name: perl-Class-HasA
arch: noarch
version: 1.00
epoch: 0
release: 8.55
summary: Automatically create has-a relationships
url: http://search.cpan.org/dist/Class-HasA/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: hurricane3
rpm_sourcerpm: perl-Class-HasA-1.00-8.55.src.rpm
location_href: noarch/perl-Class-HasA-1.00-8.55.noarch.rpm
checksum_type: sha512
pkgId:
  b9baed2fbd48f8704c7424958ea7ece52dcb946d171d0f1117eb883a966af363f80c3689afb2b6746fe2242f5b1962a15f4043489ff224532603ea469130bb52

description:
  This module produces methods which encapsulates has-a relationships between
  objects. For instance, in the example above, a mail message has-a 'head'
  object, and the 'from', 'to' and 'subject' methods act "through" the 'head'
  object.


name: perl-Class-HasA
arch: src
version: 1.00
epoch: 0
release: 8.55
summary: Automatically create has-a relationships
url: http://search.cpan.org/dist/Class-HasA/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: hurricane3
location_href: src/perl-Class-HasA-1.00-8.55.src.rpm
checksum_type: sha512
pkgId:
  6747b04503eb233e68c9342124ad63c996960dc1458a3620e7a63d4eb59ecb4f6643cd29bd634b05d5f57374e92709d8c0770913d7e4447d074a5d48057e111e

description:
  This module produces methods which encapsulates has-a relationships between
  objects. For instance, in the example above, a mail message has-a 'head'
  object, and the 'from', 'to' and 'subject' methods act "through" the 'head'
  object.


name: perl-Class-Hash
arch: noarch
version: 1.01
epoch: 0
release: 6.1
summary: Perl extension for hashes that look like classes
url: http://search.cpan.org/dist/Class-Hash/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: build70
rpm_sourcerpm: perl-Class-Hash-1.01-6.1.src.rpm
location_href: noarch/perl-Class-Hash-1.01-6.1.noarch.rpm
checksum_type: sha512
pkgId:
  59eab750a3317c2d878b45656ebd03e739b20613afa688150f2f116f460b05935bf31fcae73ac7b2ce4e6837dc40380953c5472e7c0185da58552de78242e39d

description:
  This component provides a method-based interface to a hash. Occasionally,
  it's more convenient to have named methods to access a hash than hash keys.
  This module generalizes this behavior. It tries to work the tied hash
  interface inside-out.

  This module tries to do as much or as little for you as you want and
  provides a number of configuration options. The options allow you to
  determine what kind of interface the object has. The interface may also be
  altered after-the-fact. See the /OPTIONS manpage for details.


name: perl-Class-Hash
arch: src
version: 1.01
epoch: 0
release: 6.1
summary: Perl extension for hashes that look like classes
url: http://search.cpan.org/dist/Class-Hash/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: build70
location_href: src/perl-Class-Hash-1.01-6.1.src.rpm
checksum_type: sha512
pkgId:
  717c6e6eca6625dc39dc8a0c67a672819ef59449b0dd64c09eb74749b6754774cedb0569ae47c3305de0a7ced1a30b456297858542198fcf57b2921f9a9b06bc

description:
  This component provides a method-based interface to a hash. Occasionally,
  it's more convenient to have named methods to access a hash than hash keys.
  This module generalizes this behavior. It tries to work the tied hash
  interface inside-out.

  This module tries to do as much or as little for you as you want and
  provides a number of configuration options. The options allow you to
  determine what kind of interface the object has. The interface may also be
  altered after-the-fact. See the /OPTIONS manpage for details.


name: perl-Class-Hook
arch: noarch
version: 0.06
epoch: 0
release: 1.22
summary: Add hooks on methods from other classes
url: https://metacpan.org/release/Class-Hook
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Unspecified
rpm_buildhost: lamb27
rpm_sourcerpm: perl-Class-Hook-0.06-1.22.src.rpm
location_href: noarch/perl-Class-Hook-0.06-1.22.noarch.rpm
checksum_type: sha512
pkgId:
  bc3a64364665654aa2154151ef367f32c4fc9a7a9909af12a85c7a571743a866902145c309ed0e77423a8f0068b9b609fc116459667d8392be3d7e8a1db5e361

description:
  Class::Hook enables you to trace methods calls from your code to other
  classes.

  Instead of putting 'use Foo;' in your code, simply type 'use Class::Hook;'.
  The class Foo is unknown in your code. It will be magically caught by
  Class::Hook which will call Foo itself. You can see Class::Hook as a kind
  of relay.

  You can setup a subroutine to be called before any call to '<Foo->amethod'>
  and a subroutine to be called after the call. Your subs will receive all
  the information that '<Foo->amethod'> will receive, so you can trace
  everything between your code and Foo.


name: perl-Class-Hook
arch: src
version: 0.06
epoch: 0
release: 1.22
summary: Add hooks on methods from other classes
url: https://metacpan.org/release/Class-Hook
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Unspecified
rpm_buildhost: lamb27
location_href: src/perl-Class-Hook-0.06-1.22.src.rpm
checksum_type: sha512
pkgId:
  a27a822a78bec4183b5c9ded1b8b5b9be318bb9a79f2d971a79117032a035e696b8d44b39d75f4054b919bd5d30034578eb627b4645ce4040b834c59ad065598

description:
  Class::Hook enables you to trace methods calls from your code to other
  classes.

  Instead of putting 'use Foo;' in your code, simply type 'use Class::Hook;'.
  The class Foo is unknown in your code. It will be magically caught by
  Class::Hook which will call Foo itself. You can see Class::Hook as a kind
  of relay.

  You can setup a subroutine to be called before any call to '<Foo->amethod'>
  and a subroutine to be called after the call. Your subs will receive all
  the information that '<Foo->amethod'> will receive, so you can trace
  everything between your code and Foo.


name: perl-Class-ISA
arch: noarch
version: 0.36
epoch: 0
release: 1.48
summary: Report the Search Path for a Class's Isa Tree
url: http://search.cpan.org/dist/Class-ISA/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb57
rpm_sourcerpm: perl-Class-ISA-0.36-1.48.src.rpm
location_href: noarch/perl-Class-ISA-0.36-1.48.noarch.rpm
checksum_type: sha512
pkgId:
  81bcf5c6f824813ed026dcae7bb5bae59471f033ae3fbc92fbd9d1af4d8f393f44a096de29d02c34b14a9921556fb30ce6c4f0ab926655c2ddba02ef518b940d

description:
  Suppose you have a class (like Food::Fish::Fishstick) that is derived, via
  its @ISA, from one or more superclasses (as Food::Fish::Fishstick is from
  Food::Fish, Life::Fungus, and Chemicals), and some of those superclasses
  may themselves each be derived, via its @ISA, from one or more superclasses
  (as above).

  When, then, you call a method in that class ($fishstick->calories), Perl
  first searches there for that method, but if it's not there, it goes
  searching in its superclasses, and so on, in a depth-first (or maybe
  "height-first" is the word) search. In the above example, it'd first look
  in Food::Fish, then Food, then Matter, then Life::Fungus, then Life, then
  Chemicals.

  This library, Class::ISA, provides functions that return that list -- the
  list (in order) of names of classes Perl would search to find a method,
  with no duplicates.


name: perl-Class-ISA
arch: src
version: 0.36
epoch: 0
release: 1.48
summary: Report the Search Path for a Class's Isa Tree
url: http://search.cpan.org/dist/Class-ISA/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb57
location_href: src/perl-Class-ISA-0.36-1.48.src.rpm
checksum_type: sha512
pkgId:
  c5a543ed611d8e0cd9f62c824696203ee0361dbd5fc01e8ac24d476ed5fed79a87f0e23e20329d75caf15cef99edfa7dc7b134b14c888e65b5c49f039fcef76d

description:
  Suppose you have a class (like Food::Fish::Fishstick) that is derived, via
  its @ISA, from one or more superclasses (as Food::Fish::Fishstick is from
  Food::Fish, Life::Fungus, and Chemicals), and some of those superclasses
  may themselves each be derived, via its @ISA, from one or more superclasses
  (as above).

  When, then, you call a method in that class ($fishstick->calories), Perl
  first searches there for that method, but if it's not there, it goes
  searching in its superclasses, and so on, in a depth-first (or maybe
  "height-first" is the word) search. In the above example, it'd first look
  in Food::Fish, then Food, then Matter, then Life::Fungus, then Life, then
  Chemicals.

  This library, Class::ISA, provides functions that return that list -- the
  list (in order) of names of classes Perl would search to find a method,
  with no duplicates.


name: perl-Class-Implant
arch: noarch
version: 0.01
epoch: 0
release: 9.57
summary: Manipulating mixin and inheritance out of packages
url: http://search.cpan.org/dist/Class-Implant/
rpm_license: MIT
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat11
rpm_sourcerpm: perl-Class-Implant-0.01-9.57.src.rpm
location_href: noarch/perl-Class-Implant-0.01-9.57.noarch.rpm
checksum_type: sha512
pkgId:
  54014d5b089f3f65a2b0f6ba3cb2cb7b81113eac818130c66d786498fadb3cf02f673ef32f2fc03d604afeb10f4f58babeb25ffb29a820879005f62ed2fc6dcd

description:
  Class::Implant allow you manipulating mixin and inheritance outside of
  packages.

  syntax is like

    use Class::Implant;

    implant @classes_for_injection, { options => value }

  available options show as following.


name: perl-Class-Implant
arch: src
version: 0.01
epoch: 0
release: 9.57
summary: Manipulating mixin and inheritance out of packages
url: http://search.cpan.org/dist/Class-Implant/
rpm_license: MIT
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat11
location_href: src/perl-Class-Implant-0.01-9.57.src.rpm
checksum_type: sha512
pkgId:
  e501260aa304debac3241c42f6ed2fb3455b9a3cca5fe9d9f010c6a1ddbdb5e93b8958668db338134752d12839245e6f1ddfdb897dc8de1fe85659049abd7923

description:
  Class::Implant allow you manipulating mixin and inheritance outside of
  packages.

  syntax is like

    use Class::Implant;

    implant @classes_for_injection, { options => value }

  available options show as following.


name: perl-Class-Init
arch: noarch
version: 1.1
epoch: 0
release: 8.9
summary: Base Constructor Class with Support for Local Initialization Methods
url: http://search.cpan.org/dist/Class-Init/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: localhost
rpm_sourcerpm: perl-Class-Init-1.1-8.9.src.rpm
location_href: noarch/perl-Class-Init-1.1-8.9.noarch.rpm
checksum_type: sha512
pkgId:
  dc6f03a3605e549506a4bf1a69f80da6580f9e8f894fb2aa624460f2472749d5eaa5ea8a732c3c3f368ab7fb335bccc9aba5763f68ad66ef5c0fc415f8799a97

description:
  Class::Init provides a constructor, 'new()', that returns blessed hashrefs
  by default; that constructor runs all instances of the subroutine '_init'
  it finds in the inheritance tree, top-down ('EVERY').

  The goal of this module is to reduce the amount of effort required to
  construct a simple object class; it helps reduce the amount of code that's
  duplicated between classes by providing a generic constructor, while
  allowing individual classes a low-effort way to publish their own changes
  to the new object.


name: perl-Class-Init
arch: src
version: 1.1
epoch: 0
release: 8.9
summary: Base Constructor Class with Support for Local Initialization Methods
url: http://search.cpan.org/dist/Class-Init/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: localhost
location_href: src/perl-Class-Init-1.1-8.9.src.rpm
checksum_type: sha512
pkgId:
  b96d199c71daa8a88663502ae0abe9e07d092009680bdabc096c84cb8877f60558730ed5c854357723ab14e9c769f52dd53c28b3d016f7993d68d087a1c8077a

description:
  Class::Init provides a constructor, 'new()', that returns blessed hashrefs
  by default; that constructor runs all instances of the subroutine '_init'
  it finds in the inheritance tree, top-down ('EVERY').

  The goal of this module is to reduce the amount of effort required to
  construct a simple object class; it helps reduce the amount of code that's
  duplicated between classes by providing a generic constructor, while
  allowing individual classes a low-effort way to publish their own changes
  to the new object.


name: perl-Class-Injection
arch: noarch
version: 1.11
epoch: 0
release: 3.58
summary: Injects methods to other classes
url: http://search.cpan.org/dist/Class-Injection/
rpm_license: LGPL-2.1+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb04
rpm_sourcerpm: perl-Class-Injection-1.11-3.58.src.rpm
location_href: noarch/perl-Class-Injection-1.11-3.58.noarch.rpm
checksum_type: sha512
pkgId:
  a3398d37d484b5f45a864bea16ab3968aa8fdc36468b9d7a58985d3e84aae634582707aec5ff92ebd73da0380504586ed3095ae85fa69009bd4a21a718a4c264

description:
  The Injection class is a elegant way to manipulate existing classes without
  editing them. It is done during runtime. It is a good way to write plugins
  without creating special plugins technologies.


name: perl-Class-Injection
arch: src
version: 1.11
epoch: 0
release: 3.58
summary: Injects methods to other classes
url: http://search.cpan.org/dist/Class-Injection/
rpm_license: LGPL-2.1+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb04
location_href: src/perl-Class-Injection-1.11-3.58.src.rpm
checksum_type: sha512
pkgId:
  37d321061dde4d5f1f3125721a4964270d3d822e2754dbdb0f253e43817ea8d0f0f50382ff2ce964ff2ae8d23b648d3e322ff7afd2cb58145a3a3c09f67e2d79

description:
  The Injection class is a elegant way to manipulate existing classes without
  editing them. It is done during runtime. It is a good way to write plugins
  without creating special plugins technologies.


name: perl-Class-Inner
arch: noarch
version: 0.200001
epoch: 0
release: 1.55
summary: Perlish Implementation of Java Like Inner Classes
url: http://search.cpan.org/dist/Class-Inner/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb06
rpm_sourcerpm: perl-Class-Inner-0.200001-1.55.src.rpm
location_href: noarch/perl-Class-Inner-0.200001-1.55.noarch.rpm
checksum_type: sha512
pkgId:
  2f8052d8e25f058d155c18b0dad59a9a3fc1894e1e80b304bb89afa3651845e2732cbf9925bafc4a5369b9bddd5ff75ef9134f5322148dad6889262df6f03393

description:
  Yet another implementation of an anonymous class with per object
  overrideable methods, but with the added attraction of sort of working
  dispatch to the parent class's method.


name: perl-Class-Inner
arch: src
version: 0.200001
epoch: 0
release: 1.55
summary: Perlish Implementation of Java Like Inner Classes
url: http://search.cpan.org/dist/Class-Inner/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb06
location_href: src/perl-Class-Inner-0.200001-1.55.src.rpm
checksum_type: sha512
pkgId:
  4bfa97222ebc7ff71a6adf1f260a7fd448f59eb821ac5c2af013892f2e5f51ec76c184c73ca77b983ea1d8263951fab4fae57dc9cf8565bc8b8cbb220ee9384a

description:
  Yet another implementation of an anonymous class with per object
  overrideable methods, but with the added attraction of sort of working
  dispatch to the parent class's method.


name: perl-Class-InsideOut
arch: noarch
version: 1.14
epoch: 0
release: 1.52
summary: Safe, Simple Inside-Out Object Construction Kit
url: http://search.cpan.org/dist/Class-InsideOut/
rpm_license: Apache-2.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb18
rpm_sourcerpm: perl-Class-InsideOut-1.14-1.52.src.rpm
location_href: noarch/perl-Class-InsideOut-1.14-1.52.noarch.rpm
checksum_type: sha512
pkgId:
  32b4bd9d52880bfb8d0c2ae287fa2197f5565f38e2951bb1ed164684417efa7ba4760f25eb4a901f5fcef57732d6b8a83237ee60423848333a96b67fa04ad51d

description:
  This is a simple, safe and streamlined toolkit for building inside-out
  objects. Unlike most other inside-out object building modules already on
  CPAN, this module aims for minimalism and robustness:

    * Does not require derived classes to subclass it

    * Uses no source filters, attributes or 'CHECK' blocks

    * Supports any underlying object type including black-box inheritance

    * Does not leak memory on object destruction

    * Overloading-safe

    * Thread-safe for Perl 5.8.5 or better

    * 'mod_perl' compatible

    * Makes no assumption about inheritance or initializer needs

  It provides the minimal support necessary for creating safe inside-out
  objects and generating flexible accessors.


name: perl-Class-InsideOut
arch: src
version: 1.14
epoch: 0
release: 1.52
summary: Safe, Simple Inside-Out Object Construction Kit
url: http://search.cpan.org/dist/Class-InsideOut/
rpm_license: Apache-2.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb18
location_href: src/perl-Class-InsideOut-1.14-1.52.src.rpm
checksum_type: sha512
pkgId:
  6ed366a3a6218a4738bb249c10c94abb296cdd94863df7be2f4d3c4b506d377e01704b3e7fd70004c241068b7969b1594d8b82e63afe41729a97cf1a28e677f2

description:
  This is a simple, safe and streamlined toolkit for building inside-out
  objects. Unlike most other inside-out object building modules already on
  CPAN, this module aims for minimalism and robustness:

    * Does not require derived classes to subclass it

    * Uses no source filters, attributes or 'CHECK' blocks

    * Supports any underlying object type including black-box inheritance

    * Does not leak memory on object destruction

    * Overloading-safe

    * Thread-safe for Perl 5.8.5 or better

    * 'mod_perl' compatible

    * Makes no assumption about inheritance or initializer needs

  It provides the minimal support necessary for creating safe inside-out
  objects and generating flexible accessors.


name: perl-Class-Inspector
arch: noarch
version: 1.36
epoch: 0
release: 1.35
summary: Get information about a class and its structure
url: https://metacpan.org/release/Class-Inspector
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus2
rpm_sourcerpm: perl-Class-Inspector-1.36-1.35.src.rpm
location_href: noarch/perl-Class-Inspector-1.36-1.35.noarch.rpm
checksum_type: sha512
pkgId:
  0625fcab098530b3526e3d1f5ac6b12d08f47836b8273f89b44acebef6df46cb28ff0e8952efe0581cfd47cd553aa90975d668f448cf637b8c80d0ff0f18d3fd

description:
  Class::Inspector allows you to get information about a loaded class. Most
  or all of this information can be found in other ways, but they aren't
  always very friendly, and usually involve a relatively high level of Perl
  wizardry, or strange and unusual looking code. Class::Inspector attempts to
  provide an easier, more friendly interface to this information.


name: perl-Class-Inspector
arch: src
version: 1.36
epoch: 0
release: 1.35
summary: Get information about a class and its structure
url: https://metacpan.org/release/Class-Inspector
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus2
location_href: src/perl-Class-Inspector-1.36-1.35.src.rpm
checksum_type: sha512
pkgId:
  f79146a9bd933a21ef8d2addabe91ead44b0dfeb7b2d0795b84cabc2a49cd2c73ab5a1dbcb8bafc6db7cc4d8a0367cc28412215a41cd0d23dea180bb68fc347f

description:
  Class::Inspector allows you to get information about a loaded class. Most
  or all of this information can be found in other ways, but they aren't
  always very friendly, and usually involve a relatively high level of Perl
  wizardry, or strange and unusual looking code. Class::Inspector attempts to
  provide an easier, more friendly interface to this information.


name: perl-Class-Interface
arch: noarch
version: 1.01
epoch: 0
release: 1.50
summary: Class for Implementing/Extending Interfaces/Abstracts in Perl
url: http://search.cpan.org/dist/Class-Interface/
rpm_license: (cc-sa) 2008, Hartog C. de Mik cc-sa : the http://creativecommons.org/licenses/by-sa/3.0/ manpage
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb21
rpm_sourcerpm: perl-Class-Interface-1.01-1.50.src.rpm
location_href: noarch/perl-Class-Interface-1.01-1.50.noarch.rpm
checksum_type: sha512
pkgId:
  a4de2903c79e4e687285effd61fc3339917808f2abb8641e016d89358662941cb84ca4380dcfac185694af692bb1058d4eb03b9dabdd7d01dc86473870a3148c

description:
  Performs some underwater perl-magic to ensure interfaces are interfaces and
  classes that implement the interface actually do so.


name: perl-Class-Interface
arch: src
version: 1.01
epoch: 0
release: 1.50
summary: Class for Implementing/Extending Interfaces/Abstracts in Perl
url: http://search.cpan.org/dist/Class-Interface/
rpm_license: (cc-sa) 2008, Hartog C. de Mik cc-sa : the http://creativecommons.org/licenses/by-sa/3.0/ manpage
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb21
location_href: src/perl-Class-Interface-1.01-1.50.src.rpm
checksum_type: sha512
pkgId:
  7fb53ba5d8e79a9b12926d44be454416410b5432cf462c11a9fd764913df77e8df66791886626c316ec0485c488266f836b65311f2b6b8226e27eb622764726d

description:
  Performs some underwater perl-magic to ensure interfaces are interfaces and
  classes that implement the interface actually do so.


name: perl-Class-Interfaces
arch: noarch
version: 0.04
epoch: 0
release: 1.52
summary: Module for Defining Interface Classes Inline
url: http://search.cpan.org/dist/Class-Interfaces/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: stones
rpm_sourcerpm: perl-Class-Interfaces-0.04-1.52.src.rpm
location_href: noarch/perl-Class-Interfaces-0.04-1.52.noarch.rpm
checksum_type: sha512
pkgId:
  2fbcb9d43687c10d2e861fe94c1fe856450991a28ff9cb494e34ba0a8d7559b27cd3da8c6d8926fbfdb2312d0f089eb3b0aa5e3965bf939af796e8ed7a880f89

description:
  This module provides a simple means to define abstract class interfaces,
  which can be used to program using the concepts of interface polymorphism.


name: perl-Class-Interfaces
arch: src
version: 0.04
epoch: 0
release: 1.52
summary: Module for Defining Interface Classes Inline
url: http://search.cpan.org/dist/Class-Interfaces/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: stones
location_href: src/perl-Class-Interfaces-0.04-1.52.src.rpm
checksum_type: sha512
pkgId:
  3a2ab8f169a038fb52ac102fbce8e427a33838b7171f33092f4775651799488d3bbbb2931c67b267e2c3765fce0c801e4f5c141e35ced74e633781b37ad911e1

description:
  This module provides a simple means to define abstract class interfaces,
  which can be used to program using the concepts of interface polymorphism.


name: perl-Class-Iterator
arch: noarch
version: 0.3
epoch: 0
release: 8.59
summary: Iterator class
url: http://search.cpan.org/dist/Class-Iterator/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: stones
rpm_sourcerpm: perl-Class-Iterator-0.3-8.59.src.rpm
location_href: noarch/perl-Class-Iterator-0.3-8.59.noarch.rpm
checksum_type: sha512
pkgId:
  1ccf2bee39e4b7108a15a2f169cafe43f3dd289c53df5c1237d4f66e147031ead2bf9895317c06f2bdbbae0aa10d87b7a331f441d1139db1359acfd05700119c

description:
  Class::Iterator is a generic iterator object class. It use a closure an
  wrap into an object interface.

  * new(\&closure_generator)

  This is the constructor. The argument is a sub which look like sub
  closure_generator { my $private_data; return sub { # do something with
  $private_data # and return it return $private_data } }

  * next

  calling this method make one iteration.

  * $o = imap { ... } $it

  This a creator. It create a new iterator from an existant iterator in the
  manner of map.

  * $o = igrep { ... } $it

  This a creator. It create a new iterator from an existant iterator in the
  manner of grep.


name: perl-Class-Iterator
arch: src
version: 0.3
epoch: 0
release: 8.59
summary: Iterator class
url: http://search.cpan.org/dist/Class-Iterator/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: stones
location_href: src/perl-Class-Iterator-0.3-8.59.src.rpm
checksum_type: sha512
pkgId:
  77f4f1f39c513cfb037cf01dab75731670527a9f4c725272d0c794a9310b30c66316b53ebc770be5b4c997ce409cbbaf626f8c5080f4351edfe847f9df87a895

description:
  Class::Iterator is a generic iterator object class. It use a closure an
  wrap into an object interface.

  * new(\&closure_generator)

  This is the constructor. The argument is a sub which look like sub
  closure_generator { my $private_data; return sub { # do something with
  $private_data # and return it return $private_data } }

  * next

  calling this method make one iteration.

  * $o = imap { ... } $it

  This a creator. It create a new iterator from an existant iterator in the
  manner of map.

  * $o = igrep { ... } $it

  This a creator. It create a new iterator from an existant iterator in the
  manner of grep.


name: perl-Class-LazyFactory
arch: noarch
version: 0.02
epoch: 0
release: 9.53
summary: Base class factory for lazy-loaded concrete classes
url: http://search.cpan.org/dist/Class-LazyFactory/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: stones
rpm_sourcerpm: perl-Class-LazyFactory-0.02-9.53.src.rpm
location_href: noarch/perl-Class-LazyFactory-0.02-9.53.noarch.rpm
checksum_type: sha512
pkgId:
  70ea309680cc065b7c1c0097d7e49743a5ee11dd739e7a7f92da4cc3138aee8a309cd858f86cc0e104e981e427a073719a9ff2db2bdd22b3c6b297f469715f61

description:
  Class::LazyFactory is a base class for factory classes. Concrete classes
  are lazy loaded, i.e. dynamically 'require()'d, and instances of the
  concrete classes are constructed.

  By using a factory method design pattern, one can provide a consistent
  interface for constructing a family of classes, without knowing the actual
  concrete classes in advance.


name: perl-Class-LazyFactory
arch: src
version: 0.02
epoch: 0
release: 9.53
summary: Base class factory for lazy-loaded concrete classes
url: http://search.cpan.org/dist/Class-LazyFactory/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: stones
location_href: src/perl-Class-LazyFactory-0.02-9.53.src.rpm
checksum_type: sha512
pkgId:
  7a54b4a8100eb570f97a3cc0840bcd61038cf2fd2667839f825b679f843db2f3912c48a63ad14a864f8cff0ee456b57f97f12c91aef8e7ec2d5e2b4714859910

description:
  Class::LazyFactory is a base class for factory classes. Concrete classes
  are lazy loaded, i.e. dynamically 'require()'d, and instances of the
  concrete classes are constructed.

  By using a factory method design pattern, one can provide a consistent
  interface for constructing a family of classes, without knowing the actual
  concrete classes in advance.


name: perl-Class-LazyLoad
arch: noarch
version: 0.04
epoch: 0
release: 8.55
summary: Class::LazyLoad Perl module
url: http://search.cpan.org/dist/Class-LazyLoad/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb11
rpm_sourcerpm: perl-Class-LazyLoad-0.04-8.55.src.rpm
location_href: noarch/perl-Class-LazyLoad-0.04-8.55.noarch.rpm
checksum_type: sha512
pkgId:
  9cae4bca054900d6367f350fbc5625b811b280168a4675a89e4f939101063abc27161dfc6e4799c887024950e1792f99ec636c8971f419fcaaad03ab9f35ecd6

description:
  This is a highly flexible and general purpose lazyloader class. With very
  minimal configuration, it will correctly intercept constructor calls and
  wait until first access before actually executing the constructor.


name: perl-Class-LazyLoad
arch: src
version: 0.04
epoch: 0
release: 8.55
summary: Class::LazyLoad Perl module
url: http://search.cpan.org/dist/Class-LazyLoad/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb11
location_href: src/perl-Class-LazyLoad-0.04-8.55.src.rpm
checksum_type: sha512
pkgId:
  5d538b86a282af0222a11842222d999c7dd85c22888a664345fa17fdf08b5ef59e2db6a8c705f60a208efca57ff73b5042e5a30debd6ec3ad4414149bac18866

description:
  This is a highly flexible and general purpose lazyloader class. With very
  minimal configuration, it will correctly intercept constructor calls and
  wait until first access before actually executing the constructor.


name: perl-Class-Lego
arch: noarch
version: 0.004
epoch: 0
release: 9.41
summary: Build your classes with basic building blocks
description:
  Not ready yet. The first pieces are Class::Lego::Myself and
  Class::Lego::Constructor.

url: http://search.cpan.org/dist/Class-Lego/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep85
rpm_sourcerpm: perl-Class-Lego-0.004-9.41.src.rpm
location_href: noarch/perl-Class-Lego-0.004-9.41.noarch.rpm
checksum_type: sha512
pkgId:
  caa7623ac457ea0ef706f81e18ff494bbcaae36e37a1b873ba3bc0ac0e3746d845ff7689337358e320f454ca6eff65cabb48e80406640dee28306387e2f6e949


name: perl-Class-Lego
arch: src
version: 0.004
epoch: 0
release: 9.41
summary: Build your classes with basic building blocks
description:
  Not ready yet. The first pieces are Class::Lego::Myself and
  Class::Lego::Constructor.

url: http://search.cpan.org/dist/Class-Lego/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep85
location_href: src/perl-Class-Lego-0.004-9.41.src.rpm
checksum_type: sha512
pkgId:
  ba7ec7a6aad55c59cbe19822c9845785a11db7acd3b2644fc5a137e79cf04ca84479553982e054f4a7d330cb3fc5d6414d090dab6bc2c9c7882f6b15ec5479f9


name: perl-Class-Lego-Constructor
arch: noarch
version: 0.004
epoch: 0
release: 10.37
summary: Automated constructor generation
url: http://search.cpan.org/dist/Class-Lego-Constructor/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep86
rpm_sourcerpm: perl-Class-Lego-Constructor-0.004-10.37.src.rpm
location_href: noarch/perl-Class-Lego-Constructor-0.004-10.37.noarch.rpm
checksum_type: sha512
pkgId:
  1a5f8bb85263c8312e9f0b513485c94a0bd8e5b44452edc55f9dd637dbdce3d31bdc5158e49c7147a10781a45ed1b28f96e659f931c4aa4d669a8c2fdccb9fc6

description:
    NOTE: That module was formely called Class::Constructor::Factory.
    It will enter the Class-Lego dist soon.

  I like the simplicity of Class::Accessor and friends. With them, creating
  accessors is a piece of cake. It does give me a default constructor as
  well.

  The case is that this default constructor is not as convenient as the
  generated accessors. To be precise, I want to specify default values for
  attributes easily. This module is a tentative solution to this problem.

  ---

  The intent of this module is to augment an existing constructor 'new' which
  receives a hash ref argument containing pairs of field names versus their
  values.

    $obj = My::Class->new( { f1 => v1, f2 => v2 } );

  When a declared field is omitted from the constructor argument, it can be
  filled with a default which was declared with 'mk_constructor0'.

     default
     default_value

  make_simple_constructor


name: perl-Class-Lego-Constructor
arch: src
version: 0.004
epoch: 0
release: 10.37
summary: Automated constructor generation
url: http://search.cpan.org/dist/Class-Lego-Constructor/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep86
location_href: src/perl-Class-Lego-Constructor-0.004-10.37.src.rpm
checksum_type: sha512
pkgId:
  1187edff80b11a385fbf4499a08fb2f15397c65b5102fe09c525e08d99f6809d0df4ea241b95a51a4601730d9ebf74cf9292874a022c1bec37288e8aa91246f7

description:
    NOTE: That module was formely called Class::Constructor::Factory.
    It will enter the Class-Lego dist soon.

  I like the simplicity of Class::Accessor and friends. With them, creating
  accessors is a piece of cake. It does give me a default constructor as
  well.

  The case is that this default constructor is not as convenient as the
  generated accessors. To be precise, I want to specify default values for
  attributes easily. This module is a tentative solution to this problem.

  ---

  The intent of this module is to augment an existing constructor 'new' which
  receives a hash ref argument containing pairs of field names versus their
  values.

    $obj = My::Class->new( { f1 => v1, f2 => v2 } );

  When a declared field is omitted from the constructor argument, it can be
  filled with a default which was declared with 'mk_constructor0'.

     default
     default_value

  make_simple_constructor


name: perl-Class-Light
arch: noarch
version: 0.01003
epoch: 0
release: 1.45
summary: Provides cascading object initialization and autovivified accessors and [cut]
url: http://search.cpan.org/dist/Class-Light/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb53
rpm_sourcerpm: perl-Class-Light-0.01003-1.45.src.rpm
location_href: noarch/perl-Class-Light-0.01003-1.45.noarch.rpm
checksum_type: sha512
pkgId:
  3310aab5eea2cee31bdccfc750aa5fddf6290e82c2ea4fa1af4a0fa7c2f9846074877ba58cf41e01c7978b08b876cc19f6e97177cb344ebf95f9ee349d439d22

description:
  Subclasses are not to define a class method named "new", instead they
  should define the private instance method named "_init" which does object
  initialization. 'new' will invoke '_init' from each superclass in the
  object's class hierarchy including of course the object's class itself.
  '_init' should not bless or return $self as this is handled by 'new'.

  Installs default accessor and mutator methods for public instance members.
  Public members are those hash keys that don't start with an underscore.

  Accessor and mutator methods can be invoked as:

  '$obj->getAttribute' or '$obj->get_attribute' or '$obj->get_Attribute'

  All forms of invocation will search for the member named "attribute" in the
  object and, if found, AUTOLOAD will install a method of the corresponding
  name in the package that '$obj''s class belongs to. Note that this imposes
  the restriction on inheriting classes that if they want automatically
  defined accessor and mutator methods for their public members, those
  members' identifiers must start with a lowercase letter. Also note that
  access to private members will not be given to AUTOLOAD, so for example a
  method invocation such as '$obj->get__attribute' will not install and
  execute an accessor for the private member "_attribute". If a method
  already exists for one of the three forms shown above then that method is
  executed. For example, if a user invokes a non-existant '$obj->get_foo' but
  '$obj->getFoo' does exist, then '$obj->getFoo' is invoked.


name: perl-Class-Light
arch: src
version: 0.01003
epoch: 0
release: 1.45
summary: Provides cascading object initialization and autovivified accessors and [cut]
url: http://search.cpan.org/dist/Class-Light/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb53
location_href: src/perl-Class-Light-0.01003-1.45.src.rpm
checksum_type: sha512
pkgId:
  57cd94185752669c0dfc54e47aa34989f27c7a4b4aa65cfd44bdccae984bbe9048b7dca32ccbd83601c9c3a8b77a5146400b9e4e61d408b13a9d0f211fdb3b08

description:
  Subclasses are not to define a class method named "new", instead they
  should define the private instance method named "_init" which does object
  initialization. 'new' will invoke '_init' from each superclass in the
  object's class hierarchy including of course the object's class itself.
  '_init' should not bless or return $self as this is handled by 'new'.

  Installs default accessor and mutator methods for public instance members.
  Public members are those hash keys that don't start with an underscore.

  Accessor and mutator methods can be invoked as:

  '$obj->getAttribute' or '$obj->get_attribute' or '$obj->get_Attribute'

  All forms of invocation will search for the member named "attribute" in the
  object and, if found, AUTOLOAD will install a method of the corresponding
  name in the package that '$obj''s class belongs to. Note that this imposes
  the restriction on inheriting classes that if they want automatically
  defined accessor and mutator methods for their public members, those
  members' identifiers must start with a lowercase letter. Also note that
  access to private members will not be given to AUTOLOAD, so for example a
  method invocation such as '$obj->get__attribute' will not install and
  execute an accessor for the private member "_attribute". If a method
  already exists for one of the three forms shown above then that method is
  executed. For example, if a user invokes a non-existant '$obj->get_foo' but
  '$obj->getFoo' does exist, then '$obj->getFoo' is invoked.


name: perl-Class-Listener
arch: noarch
version: 0.01.04
epoch: 0
release: 6.2
summary: executes methods on events
description: A base class which listenes for signals and runs methods.
url: http://search.cpan.org/dist/Class-Listener/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: cloud125
rpm_sourcerpm: perl-Class-Listener-0.01.04-6.2.src.rpm
location_href: noarch/perl-Class-Listener-0.01.04-6.2.noarch.rpm
checksum_type: sha512
pkgId:
  66c8ae6087d8ba01144888520e5eb08d654412f876d550a8a787043c8dba94930175a92b2b93947e8bffa8f9fcb97b054f17728d876f667fa4d1837809567069


name: perl-Class-Listener
arch: src
version: 0.01.04
epoch: 0
release: 6.2
summary: executes methods on events
description: A base class which listenes for signals and runs methods.
url: http://search.cpan.org/dist/Class-Listener/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: cloud125
location_href: src/perl-Class-Listener-0.01.04-6.2.src.rpm
checksum_type: sha512
pkgId:
  103dddbca30dfdd26af23ff4dc98d90b6cd88fb7d83f6670937fec89483301d2c54f796fc1d8105387f1c48214902604c9a3c5ec5f5a015a8a9c8fb08e32fcf4


name: perl-Class-Lite
arch: noarch
version: 0.1.0
epoch: 0
release: 1.32
summary: Simple base class with get/put accessors
url: https://metacpan.org/release/Class-Lite
rpm_license: Artistic-2.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus2
rpm_sourcerpm: perl-Class-Lite-0.1.0-1.32.src.rpm
location_href: noarch/perl-Class-Lite-0.1.0-1.32.noarch.rpm
checksum_type: sha512
pkgId:
  e146e52efd757dbe4c7c1576b6d4e41903961591b7da54bebc3ce4f495aef21d721cc279f744e1e81e9abb7a10b962554999952bc117d9fe0579b62f0b5dd5be

description:
      _Nature's great masterpiece, an elephant, The only harmless great
      thing. _ -- John Donne

  The hashref-based base class that does no more than it must. Your
  constructor and accessors are defined in a bridge package so you can
  override them easily.


name: perl-Class-Lite
arch: src
version: 0.1.0
epoch: 0
release: 1.32
summary: Simple base class with get/put accessors
url: https://metacpan.org/release/Class-Lite
rpm_license: Artistic-2.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus2
location_href: src/perl-Class-Lite-0.1.0-1.32.src.rpm
checksum_type: sha512
pkgId:
  e99d51bbbe7d8bca43a07a9758d7de588467acba3c0e4d7ebf3bfe6aa22821d96c5a8d98fc362d24e80d340134279acaf4f6ffe6bea4b8761a5378821b1dbd20

description:
      _Nature's great masterpiece, an elephant, The only harmless great
      thing. _ -- John Donne

  The hashref-based base class that does no more than it must. Your
  constructor and accessors are defined in a bridge package so you can
  override them easily.


name: perl-Class-Load
arch: noarch
version: 0.25
epoch: 0
release: 1.53
summary: Working (Require "Class::Name") and More
url: http://search.cpan.org/dist/Class-Load/
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep84
rpm_sourcerpm: perl-Class-Load-0.25-1.53.src.rpm
location_href: noarch/perl-Class-Load-0.25-1.53.noarch.rpm
checksum_type: sha512
pkgId:
  4bf5ffe10a8265be2ea9c0821c1f5f4f80499182c0143aa953f0a83fc02ee50321bcb08b29b7b4ee207d31d6e46f94b3ccaebd2c31d459722094b04078ff400a

description:
  'require EXPR' only accepts 'Class/Name.pm' style module names, not
  'Class::Name'. How frustrating! For that, we provide 'load_class
  'Class::Name''.

  It's often useful to test whether a module can be loaded, instead of
  throwing an error when it's not available. For that, we provide
  'try_load_class 'Class::Name''.

  Finally, sometimes we need to know whether a particular class has been
  loaded. Asking '%INC' is an option, but that will miss inner packages and
  any class for which the filename does not correspond to the package name.
  For that, we provide 'is_class_loaded 'Class::Name''.


name: perl-Class-Load
arch: src
version: 0.25
epoch: 0
release: 1.53
summary: Working (Require "Class::Name") and More
url: http://search.cpan.org/dist/Class-Load/
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep84
location_href: src/perl-Class-Load-0.25-1.53.src.rpm
checksum_type: sha512
pkgId:
  dfca5b95906aea964eb784b1097d5641cf2d9e582fc25dfd477ef2140c14f0834361da0c764ebe57ba65ca4f7e85e99a58a5bb579ca7a3451c18076c43c68686

description:
  'require EXPR' only accepts 'Class/Name.pm' style module names, not
  'Class::Name'. How frustrating! For that, we provide 'load_class
  'Class::Name''.

  It's often useful to test whether a module can be loaded, instead of
  throwing an error when it's not available. For that, we provide
  'try_load_class 'Class::Name''.

  Finally, sometimes we need to know whether a particular class has been
  loaded. Asking '%INC' is an option, but that will miss inner packages and
  any class for which the filename does not correspond to the package name.
  For that, we provide 'is_class_loaded 'Class::Name''.


name: perl-Class-Load-XS
arch: src
version: 0.10
epoch: 0
release: 1.84
summary: XS implementation of parts of Class::Load
url: http://search.cpan.org/dist/Class-Load-XS/
rpm_license: Artistic-2.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb11
location_href: src/perl-Class-Load-XS-0.10-1.84.src.rpm
checksum_type: sha512
pkgId:
  66fe23f0bf04c3461a5b058d1a261afe935209554714a2850867e4bcdb0578a948685c06781e4db5a6e9483c9bcc8de80d1ed70dc9ab47803dea210f2fcabe09

description:
  This module provides an XS implementation for portions of Class::Load. See
  Class::Load for API details.


name: perl-Class-Load-XS
arch: x86_64
version: 0.10
epoch: 0
release: 1.84
summary: XS implementation of parts of Class::Load
url: http://search.cpan.org/dist/Class-Load-XS/
rpm_license: Artistic-2.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb11
rpm_sourcerpm: perl-Class-Load-XS-0.10-1.84.src.rpm
location_href: x86_64/perl-Class-Load-XS-0.10-1.84.x86_64.rpm
checksum_type: sha512
pkgId:
  686b0b48ab7a763ec2cbb4a5a4c26bbe19b30ddd1235064823fb5a87799c0b3bed711938ad68a702a0f69672dbc887f5e527ed663f5a793c5cfb9a3f96ffcd7d

description:
  This module provides an XS implementation for portions of Class::Load. See
  Class::Load for API details.


name: perl-Class-Loader
arch: noarch
version: 2.03
epoch: 0
release: 1.56
summary: Load modules and create objects on demand
url: http://search.cpan.org/dist/Class-Loader/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb22
rpm_sourcerpm: perl-Class-Loader-2.03-1.56.src.rpm
location_href: noarch/perl-Class-Loader-2.03-1.56.noarch.rpm
checksum_type: sha512
pkgId:
  8989a83dd421e732644e5b540cb358a2715151d0df13f1eb13f3d8939c34464f0ac0c312adce4b9ea3539afe3ffb31bee41918e712512a35b2b89ba40d627ade

description:
  Certain applications like to defer the decision to use a particular module
  till runtime. This is possible in perl, and is a useful trick in situations
  where the type of data is not known at compile time and the application
  doesn't wish to pre-compile modules to handle all types of data it can work
  with. Loading modules at runtime can also provide flexible interfaces for
  perl modules. Modules can let the programmer decide what modules will be
  used by it instead of hard-coding their names.

  Class::Loader is an inheritable class that provides a method, _load(), to
  load a module from disk and construct an object by calling its constructor.
  It also provides a way to map modules names and associated metadata with
  symbolic names that can be used in place of module names at _load().


name: perl-Class-Loader
arch: src
version: 2.03
epoch: 0
release: 1.56
summary: Load modules and create objects on demand
url: http://search.cpan.org/dist/Class-Loader/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb22
location_href: src/perl-Class-Loader-2.03-1.56.src.rpm
checksum_type: sha512
pkgId:
  eda4c2e3f9844c7110bc7008194516b1d06844b411b1e4feb74f926341d2cda7b11ebebd6bbd36f2af0710ab79e23bd01b063da721212f4d72603917169d26a3

description:
  Certain applications like to defer the decision to use a particular module
  till runtime. This is possible in perl, and is a useful trick in situations
  where the type of data is not known at compile time and the application
  doesn't wish to pre-compile modules to handle all types of data it can work
  with. Loading modules at runtime can also provide flexible interfaces for
  perl modules. Modules can let the programmer decide what modules will be
  used by it instead of hard-coding their names.

  Class::Loader is an inheritable class that provides a method, _load(), to
  load a module from disk and construct an object by calling its constructor.
  It also provides a way to map modules names and associated metadata with
  symbolic names that can be used in place of module names at _load().


name: perl-Class-MakeMethods
arch: noarch
version: 1.01
epoch: 0
release: 5.1
summary: Generate common types of methods
url: http://search.cpan.org/dist/Class-MakeMethods/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: localhost
rpm_sourcerpm: perl-Class-MakeMethods-1.01-5.1.src.rpm
location_href: noarch/perl-Class-MakeMethods-1.01-5.1.noarch.rpm
checksum_type: sha512
pkgId:
  67f80273881773d2ee7e58b38a0abaec85ca607a7d5678bfc771fbf549a94c000590d55e16c9da028280b1a5e65fe8786c90c4d7d7002fca621858e0d5f12312

description:
  The Class::MakeMethods framework allows Perl class developers to quickly
  define common types of methods. When a module 'use's Class::MakeMethods or
  one of its subclasses, it can select from a variety of supported method
  types, and specify a name for each method desired. The methods are
  dynamically generated and installed in the calling package.

  Construction of the individual methods is handled by subclasses. This
  delegation approach allows for a wide variety of method-generation
  techniques to be supported, each by a different subclass. Subclasses can
  also be added to provide support for new types of methods.

  Over a dozen subclasses are available, including implementations of a
  variety of different method-generation techniques. Each subclass generates
  several types of methods, with some supporting their own open-eneded
  extension syntax, for hundreds of possible combinations of method types.


name: perl-Class-MakeMethods
arch: src
version: 1.01
epoch: 0
release: 5.1
summary: Generate common types of methods
url: http://search.cpan.org/dist/Class-MakeMethods/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: localhost
location_href: src/perl-Class-MakeMethods-1.01-5.1.src.rpm
checksum_type: sha512
pkgId:
  3f8148c9bcff5cfe553d3025c7541101a64108a499a4d2b0cd6b3aa4970afb5e0ce5b1bcc78660951ccbb5639526e5219889324a0aab336e683f64113e9ff047

description:
  The Class::MakeMethods framework allows Perl class developers to quickly
  define common types of methods. When a module 'use's Class::MakeMethods or
  one of its subclasses, it can select from a variety of supported method
  types, and specify a name for each method desired. The methods are
  dynamically generated and installed in the calling package.

  Construction of the individual methods is handled by subclasses. This
  delegation approach allows for a wide variety of method-generation
  techniques to be supported, each by a different subclass. Subclasses can
  also be added to provide support for new types of methods.

  Over a dozen subclasses are available, including implementations of a
  variety of different method-generation techniques. Each subclass generates
  several types of methods, with some supporting their own open-eneded
  extension syntax, for hundreds of possible combinations of method types.


name: perl-Class-Maker
arch: noarch
version: 0.5.14
epoch: 0
release: 99.1
summary: Classes, reflection, schema, serialization, attribute- and multiple inheritance
url: https://metacpan.org/release/Class-Maker
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb11
rpm_sourcerpm: perl-Class-Maker-0.5.14-99.1.src.rpm
location_href: noarch/perl-Class-Maker-0.5.14-99.1.noarch.rpm
checksum_type: sha512
pkgId:
  d9865a6ab69efe68a9fd2e2d5b3727af34e06e8e97f3bd7b8b568731fb8305daa99b854facddd67fc8873fc23071afde3cc9f2c7b3884a6265d4d30c5ba7a3ea

description:
  Class::Maker introduces the concept of classes via a "class" function. It
  automatically creates packages, ISA, new and attribute-handlers. The
  classes can inherit from common perl-classes and class-maker classes.
  Single and multiple inheritance is supported.

  This package is for everybody who wants to program oo-perl and does not
  really feel comfortable with the common way.

  Java-like reflection is also implemented and allows one to inspect the
  class properties and methods during runtime. This is helpfull for
  implementing persistance and serialization. A Tangram (see cpan) schema
  generator is included to the package, so one can use Tangram
  object-persistance on the fly as long as he uses Class::Maker classes.


name: perl-Class-Maker
arch: src
version: 0.5.14
epoch: 0
release: 99.1
summary: Classes, reflection, schema, serialization, attribute- and multiple inheritance
url: https://metacpan.org/release/Class-Maker
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb11
location_href: src/perl-Class-Maker-0.5.14-99.1.src.rpm
checksum_type: sha512
pkgId:
  36988b603641e401466f415c3eaa2ad353797deccf1a16c4480b6b48327446c1836f3373b505f4d6d46845683ae5fcb6ca8648e5fdba5f557fffe259183d0447

description:
  Class::Maker introduces the concept of classes via a "class" function. It
  automatically creates packages, ISA, new and attribute-handlers. The
  classes can inherit from common perl-classes and class-maker classes.
  Single and multiple inheritance is supported.

  This package is for everybody who wants to program oo-perl and does not
  really feel comfortable with the common way.

  Java-like reflection is also implemented and allows one to inspect the
  class properties and methods during runtime. This is helpfull for
  implementing persistance and serialization. A Tangram (see cpan) schema
  generator is included to the package, so one can use Tangram
  object-persistance on the fly as long as he uses Class::Maker classes.


name: perl-Class-Measure
arch: noarch
version: 0.09
epoch: 0
release: 1.35
summary: Create, compare, and convert units of measurement
url: https://metacpan.org/release/Class-Measure
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Unspecified
rpm_buildhost: lamb25
rpm_sourcerpm: perl-Class-Measure-0.09-1.35.src.rpm
location_href: noarch/perl-Class-Measure-0.09-1.35.noarch.rpm
checksum_type: sha512
pkgId:
  735bb01203b3b6759cb09faa9d1f3ffdaf221871ee82be3ed3da02744a0e8c427bbcaf916905475e6cc2df90d4054dda96df424c15355f1f821efdab30e14de8

description:
  This is a base class that is inherited by the Class::Measure classes. This
  distribution comes with the class Class::Measure::Length.

  The classes Class::Measure::Area, Class::Measure::Mass,
  Class::Measure::Space, Class::Measure::Temperature, and
  Class::Measure::Volume are planned and will be added soon.

  The methods described here are available in all Class::Measure classes.


name: perl-Class-Measure
arch: src
version: 0.09
epoch: 0
release: 1.35
summary: Create, compare, and convert units of measurement
url: https://metacpan.org/release/Class-Measure
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Unspecified
rpm_buildhost: lamb25
location_href: src/perl-Class-Measure-0.09-1.35.src.rpm
checksum_type: sha512
pkgId:
  822c39c73d3e54f80a84accc60987a6dec96553e44a84c76df5551a6e87d2431b6e2179b53b59e81ff1e7c29a92df67e68dbcb6d2fa966bcd7f06cdcaa0cf8db

description:
  This is a base class that is inherited by the Class::Measure classes. This
  distribution comes with the class Class::Measure::Length.

  The classes Class::Measure::Area, Class::Measure::Mass,
  Class::Measure::Space, Class::Measure::Temperature, and
  Class::Measure::Volume are planned and will be added soon.

  The methods described here are available in all Class::Measure classes.


name: perl-Class-Member
arch: noarch
version: 1.6
epoch: 0
release: 8.59
summary: Set of Modules to Make the Module Developement Easier
url: http://search.cpan.org/dist/Class-Member/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat17
rpm_sourcerpm: perl-Class-Member-1.6-8.59.src.rpm
location_href: noarch/perl-Class-Member-1.6-8.59.noarch.rpm
checksum_type: sha512
pkgId:
  ac701787e1ff60438d1d8106dc59988a94be755abade786abbcb59f2cafd58ecf58e9d404c03682270d52aee46599373ac4f2297426b964af94a477b79d27e87

description:
  Perl class instances are mostly blessed HASHes or GLOBs and store member
  variables either as '$self->{membername}' or '${*$self}{membername}'
  respectively.

  This is very error prone when you start to develope derived classes based
  on such modules. The developer of the derived class must watch the member
  variables of the base class to avoid name conflicts.

  To avoid that 'Class::Member::XXX' stores member variables in its own
  namespace prepending the package name to the variable name, e.g.

   package My::New::Module;

   use Class::Member::HASH qw/member_A memberB/;

  will store 'member_A' as '$self->{'My::New::Module::member_A'}'.

  To make access to these members easier it exports access functions into the
  callers namespace. To access 'member_A' you simply call.

   $self->member_A;		# read access
   $self->member_A($new_value);	# write access
   $self->member_A=$new_value;	# write access (used as lvalue)

  'Class::Member::HASH' and 'Class::Member::GLOB' are used if your objects
  are HASH or GLOB references. But sometimes you do not know whether your
  instances are GLOBs or HASHes (Consider developement of derived classes
  where the base class is likely to be changed.). In this case use
  'Class::Member' and the methods are defined at compile time to handle each
  type of objects, GLOBs and HASHes. But the first access to a method
  redefines it according to the actual object type. Thus, the first access
  will last slightly longer but all subsequent calls are executed at the same
  speed as 'Class::Member::GLOB' or 'Class::Member::HASH'.

  'Class::Member::Dynamic' is used if your objects can be GLOBs and HASHes at
  the same time. The actual type is determined at each access and the
  appropriate action is taken.

  In addition to member names there are a few options that can be given:
  '-CLASS_MEMBERS'. It lets the 'import()' function create an array named
  '@CLASS_MEMBERS' in the caller's namespace that contains the names of all
  methods it defines. Thus, you can create a contructor that expects named
  parameters where each name corresponds to a class member:

   use Class::Member qw/member_A member_B -CLASS_MEMBERS/;
   our @CLASS_MEMBERS;

   sub new {
     my $parent=shift;
     my $class=ref($parent) || $parent;
     my $I=bless {}=>$class;
     my %o=@_;

     if( ref($parent) ) {		# inherit first
       foreach my $m (@CLASS_MEMBERS) {
         $I->$m=$parent->$m;
       }
     }

     
     foreach my $m (@CLASS_MEMBERS) {
       $I->$m=$o{$m} if( exists $o{$m} );
     }

     $I->init;

     return $I;
   }

  Further, if you use one of 'Class::Member::HASH' or 'Class::Member::GLOB' a
  constructor method can be created automatically. Just add '-NEW' or
  '-NEW=name' to the 'use()' call. The first form creates a 'new()' method
  that is implemented as shown except of the '$I->init' call. The 2nd form
  can be used if your constructor must not be named 'new'.

  What happens if one 'Class::Member' based class inherits the constructor
  from another 'Class::Member' based class? In this case the inherited
  contructor works for the '@CLASS_MEMBERS' of the base class as well as the
  derived class. For example:

   package Base;
   use Class::Member::HASH qw/-NEW -CLASS_MEMBERS el1 el2/;

   package Inherited;
   use Class::Member::HASH qw/-CLASS_MEMBERS el3/;
   use base qw/Base/;

  Now 'Inherited-'new> calls the constructor of the base class but one can
  pass 'el1', 'el2' as well as 'el3' parameters.

  The '$I->init' call is added by specifying the '-INIT' or '-INIT=name'
  option. If given a new function '&{I N I T}' is created in the caller's
  namespace to hold the name of the 'init()' method. Yes, the symbol name
  does contain spaces to make it harder to change by chance. You don't
  normally have to care about it. Again, the '-INIT=name' form is used if
  your 'init()' method is not named 'init'.

  The 'init()' method itself is provided by you.

  More detailed here is how the initializer is called:

   my $init=$self->can('I N I T');
   if( $init ) {
     $init=$init->();
     $self->$init;
   }

  That means the constructor looks if the class itself or one of the base
  classes provides a 'I N I T' method (the name includes spaces between each
  pair of characters). If so it calls that method to fetch the initializer
  name. The last step calls the initializer itself.


name: perl-Class-Member
arch: src
version: 1.6
epoch: 0
release: 8.59
summary: Set of Modules to Make the Module Developement Easier
url: http://search.cpan.org/dist/Class-Member/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat17
location_href: src/perl-Class-Member-1.6-8.59.src.rpm
checksum_type: sha512
pkgId:
  66a343b180ceeebd7410c91a404be74ed61d79007dcb60d1d30ad7bb7206ceff4fd5d70804d1d561a7173f6cf38c23b4f7d99fe93535e7413a0bccd6a058d2e4

description:
  Perl class instances are mostly blessed HASHes or GLOBs and store member
  variables either as '$self->{membername}' or '${*$self}{membername}'
  respectively.

  This is very error prone when you start to develope derived classes based
  on such modules. The developer of the derived class must watch the member
  variables of the base class to avoid name conflicts.

  To avoid that 'Class::Member::XXX' stores member variables in its own
  namespace prepending the package name to the variable name, e.g.

   package My::New::Module;

   use Class::Member::HASH qw/member_A memberB/;

  will store 'member_A' as '$self->{'My::New::Module::member_A'}'.

  To make access to these members easier it exports access functions into the
  callers namespace. To access 'member_A' you simply call.

   $self->member_A;		# read access
   $self->member_A($new_value);	# write access
   $self->member_A=$new_value;	# write access (used as lvalue)

  'Class::Member::HASH' and 'Class::Member::GLOB' are used if your objects
  are HASH or GLOB references. But sometimes you do not know whether your
  instances are GLOBs or HASHes (Consider developement of derived classes
  where the base class is likely to be changed.). In this case use
  'Class::Member' and the methods are defined at compile time to handle each
  type of objects, GLOBs and HASHes. But the first access to a method
  redefines it according to the actual object type. Thus, the first access
  will last slightly longer but all subsequent calls are executed at the same
  speed as 'Class::Member::GLOB' or 'Class::Member::HASH'.

  'Class::Member::Dynamic' is used if your objects can be GLOBs and HASHes at
  the same time. The actual type is determined at each access and the
  appropriate action is taken.

  In addition to member names there are a few options that can be given:
  '-CLASS_MEMBERS'. It lets the 'import()' function create an array named
  '@CLASS_MEMBERS' in the caller's namespace that contains the names of all
  methods it defines. Thus, you can create a contructor that expects named
  parameters where each name corresponds to a class member:

   use Class::Member qw/member_A member_B -CLASS_MEMBERS/;
   our @CLASS_MEMBERS;

   sub new {
     my $parent=shift;
     my $class=ref($parent) || $parent;
     my $I=bless {}=>$class;
     my %o=@_;

     if( ref($parent) ) {		# inherit first
       foreach my $m (@CLASS_MEMBERS) {
         $I->$m=$parent->$m;
       }
     }

     
     foreach my $m (@CLASS_MEMBERS) {
       $I->$m=$o{$m} if( exists $o{$m} );
     }

     $I->init;

     return $I;
   }

  Further, if you use one of 'Class::Member::HASH' or 'Class::Member::GLOB' a
  constructor method can be created automatically. Just add '-NEW' or
  '-NEW=name' to the 'use()' call. The first form creates a 'new()' method
  that is implemented as shown except of the '$I->init' call. The 2nd form
  can be used if your constructor must not be named 'new'.

  What happens if one 'Class::Member' based class inherits the constructor
  from another 'Class::Member' based class? In this case the inherited
  contructor works for the '@CLASS_MEMBERS' of the base class as well as the
  derived class. For example:

   package Base;
   use Class::Member::HASH qw/-NEW -CLASS_MEMBERS el1 el2/;

   package Inherited;
   use Class::Member::HASH qw/-CLASS_MEMBERS el3/;
   use base qw/Base/;

  Now 'Inherited-'new> calls the constructor of the base class but one can
  pass 'el1', 'el2' as well as 'el3' parameters.

  The '$I->init' call is added by specifying the '-INIT' or '-INIT=name'
  option. If given a new function '&{I N I T}' is created in the caller's
  namespace to hold the name of the 'init()' method. Yes, the symbol name
  does contain spaces to make it harder to change by chance. You don't
  normally have to care about it. Again, the '-INIT=name' form is used if
  your 'init()' method is not named 'init'.

  The 'init()' method itself is provided by you.

  More detailed here is how the initializer is called:

   my $init=$self->can('I N I T');
   if( $init ) {
     $init=$init->();
     $self->$init;
   }

  That means the constructor looks if the class itself or one of the base
  classes provides a 'I N I T' method (the name includes spaces between each
  pair of characters). If so it calls that method to fetch the initializer
  name. The last step calls the initializer itself.


name: perl-Class-Method-Auto
arch: noarch
version: 1.00
epoch: 0
release: 9.44
summary: Turn subroutine calls into class method calls
url: http://search.cpan.org/dist/Class-Method-Auto/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: cloud118
rpm_sourcerpm: perl-Class-Method-Auto-1.00-9.44.src.rpm
location_href: noarch/perl-Class-Method-Auto-1.00-9.44.noarch.rpm
checksum_type: sha512
pkgId:
  5ad7d522977aac1c5336afc57345f10e8d2f71e5c97b5f6c6044d83cc8fb13c48cb4c421c37cf08ede69fa688b9339564338c572f966b6438258e5a865173d96

description:
  Class::Method::Auto allows you to call inherited class methods directly
  without prefixing them with the class name.

  There are two methods of telling Class::Method::Auto which methods to call
  automatically: By explicitly giving it a list of method names or by
  specifying a filter for the methods.

  In the first case, Class::Method::Auto creates a subroutine in the
  importing package for every name in the list that 'unshift''s the calling
  package name onto '@_' and jumps to the method in the first package where
  is it defined.

    package Blurp;

    use Class::Method::Auto qw[bar baz]; # creates Blurp::bar and Blurp::baz

  In the second case, you can specify a regular expression for the method
  names to be tested against or the string '-attributes', which causes
  Class::Method::Auto to check whether the called method has the <method>
  attribute to make sure only real methods are called.

  When specifying a filter, the method AUTOLOAD is installed in the importing
  package for dispatching.

    package Foo;

    sub my_method :method {
      ...
    }

    sub no_method {
      ...
    }

    sub _private {
      ...
    }

    package Moose;

    use base 'Foo';

    use Class::Method::Auto '-attributes', qr/^[^_]/;


name: perl-Class-Method-Auto
arch: src
version: 1.00
epoch: 0
release: 9.44
summary: Turn subroutine calls into class method calls
url: http://search.cpan.org/dist/Class-Method-Auto/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: cloud118
location_href: src/perl-Class-Method-Auto-1.00-9.44.src.rpm
checksum_type: sha512
pkgId:
  a860cb197cbef9975aa7c5c622381bd17b6b9a14671df327c57c01d0d525ee6d7eebae3aff2ba2c00f8e986a4668c3f0aff7c6e63cbbaf6af5ae1bc9f14ad188

description:
  Class::Method::Auto allows you to call inherited class methods directly
  without prefixing them with the class name.

  There are two methods of telling Class::Method::Auto which methods to call
  automatically: By explicitly giving it a list of method names or by
  specifying a filter for the methods.

  In the first case, Class::Method::Auto creates a subroutine in the
  importing package for every name in the list that 'unshift''s the calling
  package name onto '@_' and jumps to the method in the first package where
  is it defined.

    package Blurp;

    use Class::Method::Auto qw[bar baz]; # creates Blurp::bar and Blurp::baz

  In the second case, you can specify a regular expression for the method
  names to be tested against or the string '-attributes', which causes
  Class::Method::Auto to check whether the called method has the <method>
  attribute to make sure only real methods are called.

  When specifying a filter, the method AUTOLOAD is installed in the importing
  package for dispatching.

    package Foo;

    sub my_method :method {
      ...
    }

    sub no_method {
      ...
    }

    sub _private {
      ...
    }

    package Moose;

    use base 'Foo';

    use Class::Method::Auto '-attributes', qr/^[^_]/;


name: perl-Class-Method-Cache-FastMmap
arch: noarch
version: 0.3.2
epoch: 0
release: 1.41
summary: Cache method results using Cache::FastMmap
description:
  This package allows you to easily cache the results of a method call using
  Cache::FastMmap.

url: http://search.cpan.org/dist/Class-Method-Cache-FastMmap/
rpm_license: Artistic-2.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb01
rpm_sourcerpm: perl-Class-Method-Cache-FastMmap-0.3.2-1.41.src.rpm
location_href: noarch/perl-Class-Method-Cache-FastMmap-0.3.2-1.41.noarch.rpm
checksum_type: sha512
pkgId:
  e1a1332b5dc936f25fa424b029022cea7a2d21847bc07383fe6676b89ff43fd8b208625073000ef8fed11926488dd546c9f9bfdfdccb3b6d4c7171658a0b1fb7


name: perl-Class-Method-Cache-FastMmap
arch: src
version: 0.3.2
epoch: 0
release: 1.41
summary: Cache method results using Cache::FastMmap
description:
  This package allows you to easily cache the results of a method call using
  Cache::FastMmap.

url: http://search.cpan.org/dist/Class-Method-Cache-FastMmap/
rpm_license: Artistic-2.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb01
location_href: src/perl-Class-Method-Cache-FastMmap-0.3.2-1.41.src.rpm
checksum_type: sha512
pkgId:
  efd7743f78bdbc8886ea4c484c2edebff5b3e8fc06b6d632142e458df980a2e36a2595fecdaa942712789b3784936353e7441c6fdd7eb95f1c6b9d3fcad9c230


name: perl-Class-Method-Debug
arch: noarch
version: 1.101420
epoch: 0
release: 8.57
summary: Trace who is calling accessors
description:
  Provides method modifiers that trace who is setting scalar and hash
  attributes.

url: http://search.cpan.org/dist/Class-Method-Debug/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep88
rpm_sourcerpm: perl-Class-Method-Debug-1.101420-8.57.src.rpm
location_href: noarch/perl-Class-Method-Debug-1.101420-8.57.noarch.rpm
checksum_type: sha512
pkgId:
  081d9cc3c61c5b7ea2ab85ddce0b7feb50df81e66b23241403a3ce9f9df27c370c8ee6f0aaf745dfb7191c69b6f62c08383711cd62f871b162fbb43031acfbd3


name: perl-Class-Method-Debug
arch: src
version: 1.101420
epoch: 0
release: 8.57
summary: Trace who is calling accessors
description:
  Provides method modifiers that trace who is setting scalar and hash
  attributes.

url: http://search.cpan.org/dist/Class-Method-Debug/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep88
location_href: src/perl-Class-Method-Debug-1.101420-8.57.src.rpm
checksum_type: sha512
pkgId:
  43d86d5016de99ac700fa584c904b0a3cd1013d0b555c340d9925f920eff36dd31a7192a22655f8d30e47619bc8baacfe93e01f38baa61794193ed6b68a23d4d


name: perl-Class-Method-Modifiers
arch: noarch
version: 2.14
epoch: 0
release: 1.2
summary: Provides Moose-like method modifiers
url: https://metacpan.org/release/Class-Method-Modifiers
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Unspecified
rpm_buildhost: morla3
rpm_sourcerpm: perl-Class-Method-Modifiers-2.14-1.2.src.rpm
location_href: noarch/perl-Class-Method-Modifiers-2.14-1.2.noarch.rpm
checksum_type: sha512
pkgId:
  e05be951f2df468794a23ce672c3dc7f9cd46299352feb1367c84d07cda0565058008ae427b41499d96984d1a563b85f85aaf2fa88c14843a7ba8a05eebed8b0

description:
  Method modifiers are a convenient feature from the CLOS (Common Lisp Object
  System) world.

  In its most basic form, a method modifier is just a method that calls
  '$self->SUPER::foo(@_)'. I for one have trouble remembering that exact
  invocation, so my classes seldom re-dispatch to their base classes. Very
  bad!

  'Class::Method::Modifiers' provides three modifiers: 'before', 'around',
  and 'after'. 'before' and 'after' are run just before and after the method
  they modify, but can not really affect that original method. 'around' is
  run in place of the original method, with a hook to easily call that
  original method. See the MODIFIERS section for more details on how the
  particular modifiers work.

  One clear benefit of using 'Class::Method::Modifiers' is that you can
  define multiple modifiers in a single namespace. These separate modifiers
  don't need to know about each other. This makes top-down design easy. Have
  a base class that provides the skeleton methods of each operation, and have
  plugins modify those methods to flesh out the specifics.

  Parent classes need not know about 'Class::Method::Modifiers'. This means
  you should be able to modify methods in _any_ subclass. See
  Term::VT102::ZeroBased for an example of subclassing with
  'Class::Method::Modifiers'.

  In short, 'Class::Method::Modifiers' solves the problem of making sure you
  call '$self->SUPER::foo(@_)', and provides a cleaner interface for it.

  As of version 1.00, 'Class::Method::Modifiers' is faster in some cases than
  Moose. See _benchmark/method_modifiers.pl_ in the Moose distribution.

  'Class::Method::Modifiers' also provides an additional "modifier" type,
  'fresh'; see below.


name: perl-Class-Method-Modifiers
arch: src
version: 2.14
epoch: 0
release: 1.2
summary: Provides Moose-like method modifiers
url: https://metacpan.org/release/Class-Method-Modifiers
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Unspecified
rpm_buildhost: morla3
location_href: src/perl-Class-Method-Modifiers-2.14-1.2.src.rpm
checksum_type: sha512
pkgId:
  a27452b90fb55468f08d4f8a4f690a11a4c343269fe503c0312948d2746303fd5dc9f420865ac860aeefe21315f9b98763ad2f5bc79cc332a06cf6615f8d0419

description:
  Method modifiers are a convenient feature from the CLOS (Common Lisp Object
  System) world.

  In its most basic form, a method modifier is just a method that calls
  '$self->SUPER::foo(@_)'. I for one have trouble remembering that exact
  invocation, so my classes seldom re-dispatch to their base classes. Very
  bad!

  'Class::Method::Modifiers' provides three modifiers: 'before', 'around',
  and 'after'. 'before' and 'after' are run just before and after the method
  they modify, but can not really affect that original method. 'around' is
  run in place of the original method, with a hook to easily call that
  original method. See the MODIFIERS section for more details on how the
  particular modifiers work.

  One clear benefit of using 'Class::Method::Modifiers' is that you can
  define multiple modifiers in a single namespace. These separate modifiers
  don't need to know about each other. This makes top-down design easy. Have
  a base class that provides the skeleton methods of each operation, and have
  plugins modify those methods to flesh out the specifics.

  Parent classes need not know about 'Class::Method::Modifiers'. This means
  you should be able to modify methods in _any_ subclass. See
  Term::VT102::ZeroBased for an example of subclassing with
  'Class::Method::Modifiers'.

  In short, 'Class::Method::Modifiers' solves the problem of making sure you
  call '$self->SUPER::foo(@_)', and provides a cleaner interface for it.

  As of version 1.00, 'Class::Method::Modifiers' is faster in some cases than
  Moose. See _benchmark/method_modifiers.pl_ in the Moose distribution.

  'Class::Method::Modifiers' also provides an additional "modifier" type,
  'fresh'; see below.


name: perl-Class-Method-ModifiersX-Augment
arch: noarch
version: 0.002
epoch: 0
release: 4.55
summary: Adds "Augment Method => Sub {...}" Support to Class::Method::Modifiers
url: http://search.cpan.org/dist/Class-Method-ModifiersX-Augment/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus2
rpm_sourcerpm: perl-Class-Method-ModifiersX-Augment-0.002-4.55.src.rpm
location_href: noarch/perl-Class-Method-ModifiersX-Augment-0.002-4.55.noarch.rpm
checksum_type: sha512
pkgId:
  7368ee94c6566584084b2bfa4c0f99ad80ddfce9b532ffa12560258c0f098a2747effd5840611626cfb1de4bb4c91d63c602efccacb996b2f10360b58a38223d

description:
  Class::Method::ModifiersX::Augment extends Class::Method::Modifiers with
  the 'augment' method modifier, allowing you to use this Moose abomination
  for augmenting superclass methods in non-Moose classes.

  See Moose::Manual::MethodModifiers for details of how 'augment' and its
  companion function 'inner' work.

  This module exports two functions:

  * 'augment NAME, CODE'

  * 'inner'

  If you want to use these with Moo classes, please look at MooX::Augment
  instead.


name: perl-Class-Method-ModifiersX-Augment
arch: src
version: 0.002
epoch: 0
release: 4.55
summary: Adds "Augment Method => Sub {...}" Support to Class::Method::Modifiers
url: http://search.cpan.org/dist/Class-Method-ModifiersX-Augment/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus2
location_href: src/perl-Class-Method-ModifiersX-Augment-0.002-4.55.src.rpm
checksum_type: sha512
pkgId:
  135f947e32bb46c9503eb57bbea7aa849ccb68b343b0b6df694dac0038ed37410f4a6e25e34fe0c3a493b69703e4a81171e3e1fbbfbf9c70a415447c1b29a5a3

description:
  Class::Method::ModifiersX::Augment extends Class::Method::Modifiers with
  the 'augment' method modifier, allowing you to use this Moose abomination
  for augmenting superclass methods in non-Moose classes.

  See Moose::Manual::MethodModifiers for details of how 'augment' and its
  companion function 'inner' work.

  This module exports two functions:

  * 'augment NAME, CODE'

  * 'inner'

  If you want to use these with Moo classes, please look at MooX::Augment
  instead.


name: perl-Class-Method-ModifiersX-Override
arch: noarch
version: 0.003
epoch: 0
release: 1.44
summary: Adds "Override Method => Sub {...}" Support to Class::Method::Modifiers
url: http://search.cpan.org/dist/Class-Method-ModifiersX-Override/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb23
rpm_sourcerpm: perl-Class-Method-ModifiersX-Override-0.003-1.44.src.rpm
location_href: noarch/perl-Class-Method-ModifiersX-Override-0.003-1.44.noarch.rpm
checksum_type: sha512
pkgId:
  abb2f44fa256e3b3f930e66dfd9fac3e492b37b8659bbc412414fbd45003edd1115d44c5b347b66ed7ab88c88106ac028d8b05f9c56fe9cacfcb63404ace4eba

description:
  Class::Method::ModifiersX::Override extends Class::Method::Modifiers with
  the 'override' method modifier, allowing you to use this Moose syntactic
  sugar for overriding superclass methods in non-Moose classes.

  See Moose::Manual::MethodModifiers for details of how 'override' and its
  companion function 'super' work.

  This module exports two functions:

  * 'override NAME, CODE'

  * 'super'

  If you want to use these with Moo classes or role, or with Role::Tiny
  roles, please look at MooX::Override or Role::TinyX::Override instead.


name: perl-Class-Method-ModifiersX-Override
arch: src
version: 0.003
epoch: 0
release: 1.44
summary: Adds "Override Method => Sub {...}" Support to Class::Method::Modifiers
url: http://search.cpan.org/dist/Class-Method-ModifiersX-Override/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb23
location_href: src/perl-Class-Method-ModifiersX-Override-0.003-1.44.src.rpm
checksum_type: sha512
pkgId:
  4cbe423f273d0c565ca1329c12f4986049b3a4ff3c203e24515199d8842ce632865e0f037db7756e380f6e6a70e0dd6aaa8dbb879b86db6414aaeaff0d282927

description:
  Class::Method::ModifiersX::Override extends Class::Method::Modifiers with
  the 'override' method modifier, allowing you to use this Moose syntactic
  sugar for overriding superclass methods in non-Moose classes.

  See Moose::Manual::MethodModifiers for details of how 'override' and its
  companion function 'super' work.

  This module exports two functions:

  * 'override NAME, CODE'

  * 'super'

  If you want to use these with Moo classes or role, or with Role::Tiny
  roles, please look at MooX::Override or Role::TinyX::Override instead.


name: perl-Class-MethodCache
arch: src
version: 0.05
epoch: 0
release: 9.88
summary: Manipulate Perl's method resolution cache
description: Manipulate Perl's method resolution cache
url: http://search.cpan.org/dist/Class-MethodCache/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep87
location_href: src/perl-Class-MethodCache-0.05-9.88.src.rpm
checksum_type: sha512
pkgId:
  67cb49fb79f3b38e507b1462693b4706819cebf11463fd5c3e5209f0486ad67ae8e821585fe7483af6cd8d15e4fc2853d507cfd6e20fe9dbcfe72db5470ae787


name: perl-Class-MethodCache
arch: x86_64
version: 0.05
epoch: 0
release: 9.88
summary: Manipulate Perl's method resolution cache
description: Manipulate Perl's method resolution cache
url: http://search.cpan.org/dist/Class-MethodCache/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep87
rpm_sourcerpm: perl-Class-MethodCache-0.05-9.88.src.rpm
location_href: x86_64/perl-Class-MethodCache-0.05-9.88.x86_64.rpm
checksum_type: sha512
pkgId:
  e51bdd4571b1e63ddd390e2fea161e5da3330f2cc4b4976210823b82c69d366272528075aaa8d1ec33f184deef8d28f47570ce0175257aa557dda8d98b4408b5


name: perl-Class-MethodFilter
arch: noarch
version: 0.02
epoch: 0
release: 8.56
summary: Add Filters to Class Methods
url: http://search.cpan.org/dist/Class-MethodFilter/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: cloud125
rpm_sourcerpm: perl-Class-MethodFilter-0.02-8.56.src.rpm
location_href: noarch/perl-Class-MethodFilter-0.02-8.56.noarch.rpm
checksum_type: sha512
pkgId:
  3bb3281c181a782e104ffeccd83a11f3f45b6aad23cd164f220e7c80564615bf28d2ac7c2065b856f22dc942dd6435fad850ce1d1e639400274c3cdc3f39c80d

description:
  Class::MethodFilter is designed for situations where you want a filtered
  version of the return values of a method that's separate from the method
  itself; it provides a convenient API for installing filters written
  different ways while leaving the eventual interface consistent.


name: perl-Class-MethodFilter
arch: src
version: 0.02
epoch: 0
release: 8.56
summary: Add Filters to Class Methods
url: http://search.cpan.org/dist/Class-MethodFilter/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: cloud125
location_href: src/perl-Class-MethodFilter-0.02-8.56.src.rpm
checksum_type: sha512
pkgId:
  e51eba50340a5d6f50323988094c0d4bcb90a1fbcaff25632b33c63911d5f63eb49593f0a738db08fdd9361d6c07242214389b3c68b124adbee9493b5c25b1f7

description:
  Class::MethodFilter is designed for situations where you want a filtered
  version of the return values of a method that's separate from the method
  itself; it provides a convenient API for installing filters written
  different ways while leaving the eventual interface consistent.


name: perl-Class-MethodMapper
arch: noarch
version: 1.0
epoch: 0
release: 6.2
summary: Abstract Class wrapper for AutoLoader
url: http://search.cpan.org/dist/Class-MethodMapper/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: cloud104
rpm_sourcerpm: perl-Class-MethodMapper-1.0-6.2.src.rpm
location_href: noarch/perl-Class-MethodMapper-1.0-6.2.noarch.rpm
checksum_type: sha512
pkgId:
  3e3ea2afb0f17694603298fbc98900beddbd373841c0ff01903b4b6678b19d9da3a7a4178d80cd33b1747bfc3769a0af2113d5e481f606c3a081be0e9380d0ef

description:
  Class::MethodMapper takes a hash of hashes and creates get() and set()
  methods, with (some) validation, for the maps listed. Generally, a
  'parameter' is something that can be saved and restored, whereas a
  'volatile' is not serialized at save-time.


name: perl-Class-MethodMapper
arch: src
version: 1.0
epoch: 0
release: 6.2
summary: Abstract Class wrapper for AutoLoader
url: http://search.cpan.org/dist/Class-MethodMapper/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: cloud104
location_href: src/perl-Class-MethodMapper-1.0-6.2.src.rpm
checksum_type: sha512
pkgId:
  60afb8a455ddb2159718a654266cbe624e9c167454e940248ae1d66c7200b270d80bc975165cee5333555bc741afb87e1bbaafb0e630c3c41b46dc4a8fe6410a

description:
  Class::MethodMapper takes a hash of hashes and creates get() and set()
  methods, with (some) validation, for the maps listed. Generally, a
  'parameter' is something that can be saved and restored, whereas a
  'volatile' is not serialized at save-time.


name: perl-Class-Methods
arch: noarch
version: 0.062
epoch: 0
release: 8.54
summary: Object methods for working with classes
url: http://search.cpan.org/dist/Class-Methods/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat17
rpm_sourcerpm: perl-Class-Methods-0.062-8.54.src.rpm
location_href: noarch/perl-Class-Methods-0.062-8.54.noarch.rpm
checksum_type: sha512
pkgId:
  83a3c68e97260be1ab1edcf90c3919a13fdbc21950c522af39630ca83795f65bda11321a3871fb9ec239e0b87cfff5b97248ae4a1e90688a328bf29c1b786f4f

description:
  After discussing Ruby with Simon, I wrote this module to implement OO in
  Perl via the builtin inheritance-based method system.

  It seems to be pretty fun to work with. Kind of resesmbles ruby, though,
  and I suspect it might start enroaching on Perl 6.

  This is the first release, to share the madness with y'all. I've planned
  serious uses of this module, so perhaps it'll find a good home.

  test.pl is the only code example right. The core's small, and fun to read.


name: perl-Class-Methods
arch: src
version: 0.062
epoch: 0
release: 8.54
summary: Object methods for working with classes
url: http://search.cpan.org/dist/Class-Methods/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat17
location_href: src/perl-Class-Methods-0.062-8.54.src.rpm
checksum_type: sha512
pkgId:
  799831543d05b607f99bbed839de8e702cf9fe3d33dcedb9bc8d3f54d902e9ff9f6ca03e62e9949bd32a268165960bb3ce5f02e3fdc37b25383fb81903e1630b

description:
  After discussing Ruby with Simon, I wrote this module to implement OO in
  Perl via the builtin inheritance-based method system.

  It seems to be pretty fun to work with. Kind of resesmbles ruby, though,
  and I suspect it might start enroaching on Perl 6.

  This is the first release, to share the madness with y'all. I've planned
  serious uses of this module, so perhaps it'll find a good home.

  test.pl is the only code example right. The core's small, and fun to read.


name: perl-Class-Mix
arch: noarch
version: 0.006
epoch: 0
release: 1.50
summary: Dynamic Class Mixing
url: http://search.cpan.org/dist/Class-Mix/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb08
rpm_sourcerpm: perl-Class-Mix-0.006-1.50.src.rpm
location_href: noarch/perl-Class-Mix-0.006-1.50.noarch.rpm
checksum_type: sha512
pkgId:
  b47e8399c045482058721103d9ec303d059159bfabed1b9f3dfc6f39b8d08ce0f3b16d747103d40f91c82764fbea998ce2e25b4cc60a654311a4403d12c2e508

description:
  The 'mix_class' function provided by this module dynamically generates
  `anonymous' classes with specified inheritance.


name: perl-Class-Mix
arch: src
version: 0.006
epoch: 0
release: 1.50
summary: Dynamic Class Mixing
url: http://search.cpan.org/dist/Class-Mix/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb08
location_href: src/perl-Class-Mix-0.006-1.50.src.rpm
checksum_type: sha512
pkgId:
  aad70e304ae8a26cdcfdc203c17c3e2d150461e25e842334ddbcc99c1b6973e6a1f7f6a2daa387b182d4e5da0f46b411898b67bd6a74209db01077215d0e6d11

description:
  The 'mix_class' function provided by this module dynamically generates
  `anonymous' classes with specified inheritance.


name: perl-Class-Mixer
arch: noarch
version: 0.54
epoch: 0
release: 2.59
summary: Arrange class hierarchy based on dependency rules
url: http://search.cpan.org/dist/Class-Mixer/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb55
rpm_sourcerpm: perl-Class-Mixer-0.54-2.59.src.rpm
location_href: noarch/perl-Class-Mixer-0.54-2.59.noarch.rpm
checksum_type: sha512
pkgId:
  5fbf313093e99ce8ef83241ba8698247ed730dba9c1ddeec1c85377d5accec32d8627416420c1b0c3b5b93443fbfd354c71d2b124128c418e10ccd028b043b7b

description:
  This module is designed to solve a problem which occurs when using
  inheritance to mixin behaviors into a class hierarchy. The dependencies
  between a number of mixin modules may be complex. When different components
  wrap the same behavior, they often need to be in a specific order in the
  call chain, making it tricky to get the base classes to inherit in the
  right order.

  Then if you have a class Main which gets the inheritance right, and you
  want to add a class Mixin which needs to go in the middle of the
  inheritance, you cannot simply do 'package NewMain; use base qw(Main
  Mixin);' because Mixin will be put at the end of the inheritance chain.

  Also, if you have a class Foo::Better which enhances the Foo behavior, the
  same problem occurs trying to mixin Foo::Better. And it is even worse if
  some classes have done 'use base 'Foo';' to try to enforce the correct
  hierarchy.

  This module solves these problems by implementing a dependency-based
  hierarchy. You declare the relations between the classes, and an order of
  inheritance which will support those relations is determined automatically.

  For example, if you have a Logging component and an Authentication
  component, the Logging needs to be called first, because if Authentication
  fails, it will never be called at all. In the Logging class, one can
  declare the Mixer rule 'before=>'Authentication',
  optional=>'Authentication'', so that if Authentication is in the class
  hierarchy, Logging will be placed before it, but it will not complain if it
  is not there. Alternatively, one could place the rule 'after=>'Logging'' in
  the Authentication class to achieve the same result.

  Logging could also be an abstract base class, and any class which declares
  'isa=>'Logging'' will be kept together with Logging in the inheritance
  chain. This allows rules to refer to behavior classes without needing to
  know exactly which behavior class will actually be used.

  In my own usage, in a structured wiki project, less essential classes
  usually declare their rules in relation to more essential classes, such as
  Storage and IO. So for example, the Security class declares
  'before=>'Storage'' because it must be invoked before records are stored or
  retrieved, and also 'requires=>'Session'' because it needs a session but
  does not share any behavior methods with it. Session declares 'after=>'IO''
  because it needs IO to process cookies and arguments before it can work.
  The Index and Revision classes both declare 'before=>'Storage'' but they do
  not care which of them runs first.

  Class::Mixer combines functions from base and Class::C3 to do its job. It
  will 'require' the given classes (unless optional) similar to 'use base'.
  And it attempts to force c3 semantices, so you should do
  '$self->method::next' instead of 'SUPER' for inheritance.


name: perl-Class-Mixer
arch: src
version: 0.54
epoch: 0
release: 2.59
summary: Arrange class hierarchy based on dependency rules
url: http://search.cpan.org/dist/Class-Mixer/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb55
location_href: src/perl-Class-Mixer-0.54-2.59.src.rpm
checksum_type: sha512
pkgId:
  03441861f3a8324ac9c73a6fb46409d710008f06e27e352db206a0e2ba192414b777f9bf4665963850987121ecc949ae4ed17e649bb8aabd8c66ed01200cac12

description:
  This module is designed to solve a problem which occurs when using
  inheritance to mixin behaviors into a class hierarchy. The dependencies
  between a number of mixin modules may be complex. When different components
  wrap the same behavior, they often need to be in a specific order in the
  call chain, making it tricky to get the base classes to inherit in the
  right order.

  Then if you have a class Main which gets the inheritance right, and you
  want to add a class Mixin which needs to go in the middle of the
  inheritance, you cannot simply do 'package NewMain; use base qw(Main
  Mixin);' because Mixin will be put at the end of the inheritance chain.

  Also, if you have a class Foo::Better which enhances the Foo behavior, the
  same problem occurs trying to mixin Foo::Better. And it is even worse if
  some classes have done 'use base 'Foo';' to try to enforce the correct
  hierarchy.

  This module solves these problems by implementing a dependency-based
  hierarchy. You declare the relations between the classes, and an order of
  inheritance which will support those relations is determined automatically.

  For example, if you have a Logging component and an Authentication
  component, the Logging needs to be called first, because if Authentication
  fails, it will never be called at all. In the Logging class, one can
  declare the Mixer rule 'before=>'Authentication',
  optional=>'Authentication'', so that if Authentication is in the class
  hierarchy, Logging will be placed before it, but it will not complain if it
  is not there. Alternatively, one could place the rule 'after=>'Logging'' in
  the Authentication class to achieve the same result.

  Logging could also be an abstract base class, and any class which declares
  'isa=>'Logging'' will be kept together with Logging in the inheritance
  chain. This allows rules to refer to behavior classes without needing to
  know exactly which behavior class will actually be used.

  In my own usage, in a structured wiki project, less essential classes
  usually declare their rules in relation to more essential classes, such as
  Storage and IO. So for example, the Security class declares
  'before=>'Storage'' because it must be invoked before records are stored or
  retrieved, and also 'requires=>'Session'' because it needs a session but
  does not share any behavior methods with it. Session declares 'after=>'IO''
  because it needs IO to process cookies and arguments before it can work.
  The Index and Revision classes both declare 'before=>'Storage'' but they do
  not care which of them runs first.

  Class::Mixer combines functions from base and Class::C3 to do its job. It
  will 'require' the given classes (unless optional) similar to 'use base'.
  And it attempts to force c3 semantices, so you should do
  '$self->method::next' instead of 'SUPER' for inheritance.


name: perl-Class-Mixin
arch: noarch
version: 1.00
epoch: 0
release: 8.55
summary: API for aliasing methods to/from other classes
url: http://search.cpan.org/dist/Class-Mixin/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb24
rpm_sourcerpm: perl-Class-Mixin-1.00-8.55.src.rpm
location_href: noarch/perl-Class-Mixin-1.00-8.55.noarch.rpm
checksum_type: sha512
pkgId:
  cf8ab3b6f835bab656d6d260b55c6d1fb615376267d640e688a6963efac1db12e8131300a6b41be219d845aba89920c7ee9dd137ca893198f642f5c55560c37c

description:
  Class::Mixin provides a way to mix methods from one class into another,
  such that the target class can use both its methods as well as those of the
  source class.

  The primary advantage is that the behavior of a class can be modified to
  effectively be another class without changing any of the calling code --
  just requires using the new class that mixes into the original.


name: perl-Class-Mixin
arch: src
version: 1.00
epoch: 0
release: 8.55
summary: API for aliasing methods to/from other classes
url: http://search.cpan.org/dist/Class-Mixin/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb24
location_href: src/perl-Class-Mixin-1.00-8.55.src.rpm
checksum_type: sha512
pkgId:
  aad722850053aee22555f3ea52e5e6639e45c0bf0d7231f669e420398af9d152a2c144268504a6792cb08be4c667bc2977e006c548db05aee32c1b3f211d6f7b

description:
  Class::Mixin provides a way to mix methods from one class into another,
  such that the target class can use both its methods as well as those of the
  source class.

  The primary advantage is that the behavior of a class can be modified to
  effectively be another class without changing any of the calling code --
  just requires using the new class that mixes into the original.


name: perl-Class-MixinFactory
arch: noarch
version: 0.92
epoch: 0
release: 1.56
summary: Class Factory with Selection of Mixins
url: http://search.cpan.org/dist/Class-MixinFactory/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb14
rpm_sourcerpm: perl-Class-MixinFactory-0.92-1.56.src.rpm
location_href: noarch/perl-Class-MixinFactory-0.92-1.56.noarch.rpm
checksum_type: sha512
pkgId:
  747fd4d7a0785bc822f42c765e555b2ec9ede41cb5127d43ebcbdbce187c9b33a5fb36e66a3e90e03b04344f8a9198938f066466da194a9745ae8e47b651042c

description:
  This distribution facilitates the run-time generation of classes which
  inherit from a base class and some optional selection of mixin classes.

  A factory is provided to generate the mixed classes with multiple
  inheritance. A NEXT method allows method redispatch up the inheritance
  chain.


name: perl-Class-MixinFactory
arch: src
version: 0.92
epoch: 0
release: 1.56
summary: Class Factory with Selection of Mixins
url: http://search.cpan.org/dist/Class-MixinFactory/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb14
location_href: src/perl-Class-MixinFactory-0.92-1.56.src.rpm
checksum_type: sha512
pkgId:
  ea93a019e19c7ed38e2912e0ea68dcac0cf015e12e13fa1b4abcab7f9f7fe9718e77a9bb11ba7cfa5a92a2b2219132680aeccf0c547252128043532fb8a1d418

description:
  This distribution facilitates the run-time generation of classes which
  inherit from a base class and some optional selection of mixin classes.

  A factory is provided to generate the mixed classes with multiple
  inheritance. A NEXT method allows method redispatch up the inheritance
  chain.


name: perl-Class-Mockable
arch: noarch
version: 1.3002
epoch: 0
release: 1.7
summary: Class::Mockable Perl module
url: https://metacpan.org/release/Class-Mockable
rpm_license: CHECK(Artistic-1.0 or GPL-1.0-or-later)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Unspecified
rpm_buildhost: cloud114
rpm_sourcerpm: perl-Class-Mockable-1.3002-1.7.src.rpm
location_href: noarch/perl-Class-Mockable-1.3002-1.7.noarch.rpm
checksum_type: sha512
pkgId:
  9626eb0a8157e22dc5a2ad63b0c6cca2e5dca6d2d19945475308372cbc52f60315207f791306e523d2ebe84884dd7ae5fab66665ebf6c0e4295a353f9ff991dd

description:
  A handy mix-in for making stuff mockable.

  Use this so that when testing your code you can easily mock how your code
  talks to other bits of code, thus making it possible to test your code in
  isolation, and without relying on third-party services.


name: perl-Class-Mockable
arch: src
version: 1.3002
epoch: 0
release: 1.7
summary: Class::Mockable Perl module
url: https://metacpan.org/release/Class-Mockable
rpm_license: CHECK(Artistic-1.0 or GPL-1.0-or-later)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Unspecified
rpm_buildhost: cloud114
location_href: src/perl-Class-Mockable-1.3002-1.7.src.rpm
checksum_type: sha512
pkgId:
  fddcfbf9863c353d815e9331e29c780bc48444b16dc8ee8936ec25481bf9b5b2eb04f941f070df49d76e1dfa3096caaa065d1c540743643c6f97810efdc74642

description:
  A handy mix-in for making stuff mockable.

  Use this so that when testing your code you can easily mock how your code
  talks to other bits of code, thus making it possible to test your code in
  isolation, and without relying on third-party services.


name: perl-Class-Modular
arch: noarch
version: 0.05
epoch: 0
release: 8.19
summary: Modular class generation superclass
url: http://search.cpan.org/dist/Class-Modular/
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb21
rpm_sourcerpm: perl-Class-Modular-0.05-8.19.src.rpm
location_href: noarch/perl-Class-Modular-0.05-8.19.noarch.rpm
checksum_type: sha512
pkgId:
  39533ad66779af9990843532d4497e37728b0fb5bc792d5f80d288350256a2a6005d97148333be7fe0e02ae566276312c8992e246c47ed62dbcb1c45a35c3b94

description:
  Class::Modular is a superclass for generating modular classes, where
  methods can be added into the class from the perspective of the object,
  rather than the perspective of the class.

  That is, you can create a class which has a set of generic common
  functions. Less generic functions can be included or overridden without
  modifying the base classes. This allows for code to be more modular, and
  reduces code duplication.

  This module attempts to fill the middle ground between Class::Mutator and
  true classless OOP, like Class::Classless.

rpm_license:
  This module is part of DA, Don Armstrong's Modules, and is released under the terms of the GPL version 2, or any later version. See the file README and COPYING for more information.


name: perl-Class-Modular
arch: src
version: 0.05
epoch: 0
release: 8.19
summary: Modular class generation superclass
url: http://search.cpan.org/dist/Class-Modular/
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb21
location_href: src/perl-Class-Modular-0.05-8.19.src.rpm
checksum_type: sha512
pkgId:
  da3a9ddfb1a62ec73c8c0399881da2a456a623ba525c3ce644427102c38c034a12139e6f587ee3173b715e00cb11231ba45918580c7c8e84c49daa63450d3524

description:
  Class::Modular is a superclass for generating modular classes, where
  methods can be added into the class from the perspective of the object,
  rather than the perspective of the class.

  That is, you can create a class which has a set of generic common
  functions. Less generic functions can be included or overridden without
  modifying the base classes. This allows for code to be more modular, and
  reduces code duplication.

  This module attempts to fill the middle ground between Class::Mutator and
  true classless OOP, like Class::Classless.

rpm_license:
  This module is part of DA, Don Armstrong's Modules, and is released under the terms of the GPL version 2, or any later version. See the file README and COPYING for more information.


name: perl-Class-ModuleByFile
arch: noarch
version: 0.02
epoch: 0
release: 3.48
summary: Can read the module name from file
url: http://search.cpan.org/dist/Class-ModuleByFile/
rpm_license: LGPL-2.1+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb21
rpm_sourcerpm: perl-Class-ModuleByFile-0.02-3.48.src.rpm
location_href: noarch/perl-Class-ModuleByFile-0.02-3.48.noarch.rpm
checksum_type: sha512
pkgId:
  08b96d6af77e5a67560e4e276d66deefbbf306dd8bea3468766aac7d084463909116915b1df23976076852e03c585f0648d3ada3b935bad835850de23709ea15

description:
  You can use that class to get the module name (package) by filename. It
  reads the file and returns the package entry.


name: perl-Class-ModuleByFile
arch: src
version: 0.02
epoch: 0
release: 3.48
summary: Can read the module name from file
url: http://search.cpan.org/dist/Class-ModuleByFile/
rpm_license: LGPL-2.1+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb21
location_href: src/perl-Class-ModuleByFile-0.02-3.48.src.rpm
checksum_type: sha512
pkgId:
  c3b7b772a1edb92dd452d41b44ee24dd85387fd861433b72fd1ba5e0d4512a84b78a3366f5471fa9ed9a03b60c8f746da4299b3edd6d0bdb8b5f1e744c8421f8

description:
  You can use that class to get the module name (package) by filename. It
  reads the file and returns the package entry.


name: perl-Class-Monkey
arch: noarch
version: 0.007
epoch: 0
release: 5.30
summary: Monkey Patch a class/instance with modifiers and other sweet stuff
url: https://metacpan.org/release/Class-Monkey
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: stones
rpm_sourcerpm: perl-Class-Monkey-0.007-5.30.src.rpm
location_href: noarch/perl-Class-Monkey-0.007-5.30.noarch.rpm
checksum_type: sha512
pkgId:
  2b2f9aeb24c393a9efaebf45176ffe4322c94ce53768e5b26013cad72c3a64980d16fcf554d790d095b9ff66188c0a47a3a684b54659e3c1d0e4be6703767bc3

description:
  Say we have a module installed on the system. It does some handy things,
  but you find a bug or a strange feature. We can easily fix it without
  subclassing by the following...

      
      package SupidClass;

      sub new {
          my $class = shift;
          return bless {}, $class;
      }

      sub name {
          my ($self, $name) = @_;
          print "Hello, ${name}\n";
      }

      sub no_args {
          print "No arguments were specified!\n";
      }

      1;

  Above is our class. A stupid one at that. The 'name' method doesn't
  validate the arguments.. it just tries to print them in a 'hello' string.
  We can use an 'around' method to call the 'name' method if arguments are
  passed, or to call 'no_args' if not. We can happily do this from the
  program.

      
      use Class::Monkey qw<StupidClass>;

      
      around 'name' => sub {
          my $method = shift;
          my $self   = shift;

          if (@_) {
              $self->$method(@_);
          }
          else {
              $self->no_args();
          }
      },
      qw<StupidClass>;
      

      $s->name();         # actually executes no_args
      $s->name("World"):  # runs name


name: perl-Class-Monkey
arch: src
version: 0.007
epoch: 0
release: 5.30
summary: Monkey Patch a class/instance with modifiers and other sweet stuff
url: https://metacpan.org/release/Class-Monkey
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: stones
location_href: src/perl-Class-Monkey-0.007-5.30.src.rpm
checksum_type: sha512
pkgId:
  45ed9f9edaf36911d8fdea1d01e57b72c90d1156bbaee6d22a4666fb1a83052b399bcd34694d4b5e3a172bd791ad97680898562dc6f807b294cd46055b6334f0

description:
  Say we have a module installed on the system. It does some handy things,
  but you find a bug or a strange feature. We can easily fix it without
  subclassing by the following...

      
      package SupidClass;

      sub new {
          my $class = shift;
          return bless {}, $class;
      }

      sub name {
          my ($self, $name) = @_;
          print "Hello, ${name}\n";
      }

      sub no_args {
          print "No arguments were specified!\n";
      }

      1;

  Above is our class. A stupid one at that. The 'name' method doesn't
  validate the arguments.. it just tries to print them in a 'hello' string.
  We can use an 'around' method to call the 'name' method if arguments are
  passed, or to call 'no_args' if not. We can happily do this from the
  program.

      
      use Class::Monkey qw<StupidClass>;

      
      around 'name' => sub {
          my $method = shift;
          my $self   = shift;

          if (@_) {
              $self->$method(@_);
          }
          else {
              $self->no_args();
          }
      },
      qw<StupidClass>;
      

      $s->name();         # actually executes no_args
      $s->name("World"):  # runs name


name: perl-Class-Multi
arch: noarch
version: 1.04
epoch: 0
release: 1.43
summary: Multiple inheritance support functions
description: Multiple inheritance support functions.
url: http://search.cpan.org/dist/Class-Multi/
rpm_license: LGPL-2.1+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb22
rpm_sourcerpm: perl-Class-Multi-1.04-1.43.src.rpm
location_href: noarch/perl-Class-Multi-1.04-1.43.noarch.rpm
checksum_type: sha512
pkgId:
  e088e100e6f8b232ad98f7054e024b96e48543ddaecf7acab85af6eeffc2253ebaf1899e88f4a773877957f54c2c3d0318f75edd6289713d1b019f5803b53ecf


name: perl-Class-Multi
arch: src
version: 1.04
epoch: 0
release: 1.43
summary: Multiple inheritance support functions
description: Multiple inheritance support functions.
url: http://search.cpan.org/dist/Class-Multi/
rpm_license: LGPL-2.1+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb22
location_href: src/perl-Class-Multi-1.04-1.43.src.rpm
checksum_type: sha512
pkgId:
  b681e0f77e9a60b24c49f610f6c418da733cc12675cb391fcc6a98d541daf7387f2cde6e4eb61088598da227914bea3897559990834a36b2f6db5d2337735dc9


name: perl-Class-Multimethods-Pure
arch: noarch
version: 0.13
epoch: 0
release: 1.50
summary: Method-ordered multimethod dispatch
description: Method-ordered multimethod dispatch
url: http://search.cpan.org/dist/Class-Multimethods-Pure/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-atreju5
rpm_sourcerpm: perl-Class-Multimethods-Pure-0.13-1.50.src.rpm
location_href: noarch/perl-Class-Multimethods-Pure-0.13-1.50.noarch.rpm
checksum_type: sha512
pkgId:
  f7cf1bce48e295cf621e503abf45629057b3555d21be7524f3837db894369fbabb75866df00b452835c984d2106ad10109c7574aa99a4e194f344f8068996c67


name: perl-Class-Multimethods-Pure
arch: src
version: 0.13
epoch: 0
release: 1.50
summary: Method-ordered multimethod dispatch
description: Method-ordered multimethod dispatch
url: http://search.cpan.org/dist/Class-Multimethods-Pure/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-atreju5
location_href: src/perl-Class-Multimethods-Pure-0.13-1.50.src.rpm
checksum_type: sha512
pkgId:
  22efc52182b9276218db30f415a11923f524e8b3d0aff904430984398fe5e328806dd8ffcfff0bbf54b1686fb98547d2a0e4bd220ad7299324c4d9db725d3fd4


name: perl-Class-Mutator
arch: noarch
version: 0.04
epoch: 0
release: 8.57
summary: Run-time Dynamic Multiple Inheritance
url: http://search.cpan.org/dist/Class-Mutator/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb51
rpm_sourcerpm: perl-Class-Mutator-0.04-8.57.src.rpm
location_href: noarch/perl-Class-Mutator-0.04-8.57.noarch.rpm
checksum_type: sha512
pkgId:
  496fa52d4b78881bbadba21fb6b61b1ad9a7faf08a14b1819789d9350012e6526c6b918123892a53e599ae46b309b60a27225b6df7b12b2e5b3d29f7e243ac49

description:
  Class::Mutator adds the power of "dynamic polymorphism" to Perl objects.

  Any object that inherits Class::Mutator principally gains two new methods,
  mutate and unmutate that allows them to add methods to themselves at
  runtime from other packages. The most recently mutated packages take
  precedence when methods with the same name are defined in more than one
  package.

  This module is similar to Sex.pm, which Michael Schwern was working on
  around the same time, only a little bit more predictable. It came about
  while I was doing some training at the BBC and someone asked how you could
  do this easily; after discussion with my fellow London.pm'ers, in
  particular Piers Cawley, this module came about.

  More recently Matthew Simon Cavalletto sent me a version with everything I
  had been meaning to do on the module a little after I uploaded version 0.03
  which only had more substantial tests. So major kudos to Matthew.


name: perl-Class-Mutator
arch: src
version: 0.04
epoch: 0
release: 8.57
summary: Run-time Dynamic Multiple Inheritance
url: http://search.cpan.org/dist/Class-Mutator/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb51
location_href: src/perl-Class-Mutator-0.04-8.57.src.rpm
checksum_type: sha512
pkgId:
  e8baa3e677e370ed0e7f6ba4e387058f29d8cc8c87540608307b19f78c4f47c356910ed19423bceaabf470f60b37779af0221ff69752d2086d6967b384dbc716

description:
  Class::Mutator adds the power of "dynamic polymorphism" to Perl objects.

  Any object that inherits Class::Mutator principally gains two new methods,
  mutate and unmutate that allows them to add methods to themselves at
  runtime from other packages. The most recently mutated packages take
  precedence when methods with the same name are defined in more than one
  package.

  This module is similar to Sex.pm, which Michael Schwern was working on
  around the same time, only a little bit more predictable. It came about
  while I was doing some training at the BBC and someone asked how you could
  do this easily; after discussion with my fellow London.pm'ers, in
  particular Piers Cawley, this module came about.

  More recently Matthew Simon Cavalletto sent me a version with everything I
  had been meaning to do on the module a little after I uploaded version 0.03
  which only had more substantial tests. So major kudos to Matthew.


name: perl-Class-NamedParms
arch: noarch
version: 1.08
epoch: 0
release: 1.29
summary: Lightweight base class for checked get/set property accessors
url: https://metacpan.org/release/Class-NamedParms
rpm_license: MIT
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: build79
rpm_sourcerpm: perl-Class-NamedParms-1.08-1.29.src.rpm
location_href: noarch/perl-Class-NamedParms-1.08-1.29.noarch.rpm
checksum_type: sha512
pkgId:
  f38f2d31cf8c1114761844089fb1b8bafd7725b21fbf808e5ce2769dc825c4f1921e06f403267fed2a80db52717ca6bb41ba616be37f100ca6214c4f239165c9

description:
  Provides key name checking for named accessor parameters. This allows the
  use of a generic 'get/set' type parameterized accessor while automatically
  catching accidental mis-spellings and usage of uninitialized parameters.
  This catches a large class of programming errors without requiring a new
  accessor for every object parameter.

  It can also be used as a standalone generic 'container' object.

  Example:

    my $plant = Class::NamedParms->new(qw(phylum family genera species));
    $plant->set({ species => 'Homo Sapiens Sapiens' });


name: perl-Class-NamedParms
arch: src
version: 1.08
epoch: 0
release: 1.29
summary: Lightweight base class for checked get/set property accessors
url: https://metacpan.org/release/Class-NamedParms
rpm_license: MIT
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: build79
location_href: src/perl-Class-NamedParms-1.08-1.29.src.rpm
checksum_type: sha512
pkgId:
  5127afcd8f204615384eb398a823561259b8590a0abfcbc71b411f61c08623a2eae3098a2ec50d4c6703b00078d7c5f21a5f7dbeffe0eab73c7c5a7f952d2e69

description:
  Provides key name checking for named accessor parameters. This allows the
  use of a generic 'get/set' type parameterized accessor while automatically
  catching accidental mis-spellings and usage of uninitialized parameters.
  This catches a large class of programming errors without requiring a new
  accessor for every object parameter.

  It can also be used as a standalone generic 'container' object.

  Example:

    my $plant = Class::NamedParms->new(qw(phylum family genera species));
    $plant->set({ species => 'Homo Sapiens Sapiens' });


name: perl-Class-NonOO
arch: noarch
version: 0.4.1
epoch: 0
release: 1.58
summary: Use methods as functions with an implicit singleton
url: http://search.cpan.org/dist/Class-NonOO/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep85
rpm_sourcerpm: perl-Class-NonOO-0.4.1-1.58.src.rpm
location_href: noarch/perl-Class-NonOO-0.4.1-1.58.noarch.rpm
checksum_type: sha512
pkgId:
  3d6cf561560b43e16428ec52c4ad836fc4cfbe1197dc49c5861380cbfea58bdb4985a6ada228e1e659388f051daebb486c9c483e0dc3d3a4b68f96acf3fc304b

description:
  This module allows you to turn a class into a module that exports methods
  as functions that use an implicit singleton. This allows you to provide a
  "hybrid" object-oriented/functional interface.


name: perl-Class-NonOO
arch: src
version: 0.4.1
epoch: 0
release: 1.58
summary: Use methods as functions with an implicit singleton
url: http://search.cpan.org/dist/Class-NonOO/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep85
location_href: src/perl-Class-NonOO-0.4.1-1.58.src.rpm
checksum_type: sha512
pkgId:
  6782155f51f549effca69130221e20b32094f2f2667781a06fc66121f24c6bbd9b52e3bbf462bfb12fab0201d941fec3e46dfd7ca16cd55df9031f330763a4ff

description:
  This module allows you to turn a class into a module that exports methods
  as functions that use an implicit singleton. This allows you to provide a
  "hybrid" object-oriented/functional interface.


name: perl-Class-Null
arch: noarch
version: 2.110730
epoch: 0
release: 1.50
summary: Implements the Null Class design pattern
url: http://search.cpan.org/dist/Class-Null/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep88
rpm_sourcerpm: perl-Class-Null-2.110730-1.50.src.rpm
location_href: noarch/perl-Class-Null-2.110730-1.50.noarch.rpm
checksum_type: sha512
pkgId:
  0e0554e4b7b057d5250e956c3643cd0535606a74ac27087301d974af6ffd9b815485f5af22384238b7d20ad3cade890e7d9e5e2956d7b1a1f421aac968e3fc6c

description:
  This class implements the Null Class design pattern.

  Suppose that methods in your object want to write log messages to a log
  object. The log object is possibly stored in a slot in your object and can
  be accessed using an accessor method:

    package MyObject;

    use base 'Class::Accessor';
    __PACKAGE__->mk_accessors(qw(log));

    sub do_it {
      my $self = shift;
      $self->log->log(level => 'debug', message => 'starting to do it');
      ...
      $self->log->log(level => 'debug', message => 'still doing it');
      ...
      $self->log->log(level => 'debug', message => 'finished doing it');
    }

  The log object simply needs to have a 'log()' method that accepts two named
  parameters. Any class defining such a method will do, and 'Log::Dispatch'
  fulfills that requirement while providing a lot of flexibility and
  reusability in handling the logged messages.

  You might want to log messages to a file:

    use Log::Dispatch;

    my $dispatcher = Log::Dispatch->new;

    $dispatcher->add(Log::Dispatch::File->new(
      name      => 'file1',
      min_level => 'debug',
      filename  => 'logfile'));

    my $obj = MyObject->new(log => $dispatcher);
    $obj->do_it;

  But what happens if we don't define a log object? Your object's methods
  would have to check whether a log object is defined before calling the
  'log()' method. This leads to lots of unwieldy code like

    sub do_it {
      my $self = shift;
      if (defined (my $log = $self->log)) {
        $log->log(level => 'debug', message => 'starting to do it');
      }
      ...
      if (defined (my $log = $self->log)) {
        $log->log(level => 'debug', message => 'still doing it');
      }
      ...
      if (defined (my $log = $self->log)) {
        $log->log(level => 'debug', message => 'finished doing it');
      }
    }

  The proliferation of if-statements really distracts from the actual call to
  'log()' and also distracts from the rest of the method code. There is a
  better way. We can ensure that there is always a log object that we can
  call 'log()' on, even if it doesn't do very much (or in fact, anything at
  all).

  This object with null functionality is what is called a null object. We can
  create the object the usual way, using the 'new()' constructor, and call
  any method on it, and all methods will do the same - nothing. (Actually, it
  always returns the same 'Class::Null' singleton object, enabling method
  chaining.) It's effectively a catch-all object. We can use this class with
  our own object like this:

    package MyObject;

    use Class::Null;

    

    sub init {
      my $self = shift;
      ...
      $self->log(Class::Null->new);
      ...
    }

    sub do_it {
      my $self = shift;
      $self->log->log(level => 'debug', message => 'starting to do it');
      ...
      $self->log->log(level => 'debug', message => 'still doing it');
      ...
      $self->log->log(level => 'debug', message => 'finished doing it');
    }

  This is only one example of using a null class, but it can be used whenever
  you want to make an optional helper object into a mandatory helper object,
  thereby avoiding unnecessarily complicated checks and preserving the
  transparency of how your objects are related to each other and how they
  call each other.

  Although 'Class::Null' is exceedingly simple it has been made into a
  distribution and put on CPAN to avoid further clutter and repetitive
  definitions.


name: perl-Class-Null
arch: src
version: 2.110730
epoch: 0
release: 1.50
summary: Implements the Null Class design pattern
url: http://search.cpan.org/dist/Class-Null/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep88
location_href: src/perl-Class-Null-2.110730-1.50.src.rpm
checksum_type: sha512
pkgId:
  4fce9f908464319cfbfd846e7e9e5aaa918f603de58a11adb058e6ac7e4417fed42a41608d1d08f9366631fcc39d997058ae4026fae08dba67e079d314eea7e9

description:
  This class implements the Null Class design pattern.

  Suppose that methods in your object want to write log messages to a log
  object. The log object is possibly stored in a slot in your object and can
  be accessed using an accessor method:

    package MyObject;

    use base 'Class::Accessor';
    __PACKAGE__->mk_accessors(qw(log));

    sub do_it {
      my $self = shift;
      $self->log->log(level => 'debug', message => 'starting to do it');
      ...
      $self->log->log(level => 'debug', message => 'still doing it');
      ...
      $self->log->log(level => 'debug', message => 'finished doing it');
    }

  The log object simply needs to have a 'log()' method that accepts two named
  parameters. Any class defining such a method will do, and 'Log::Dispatch'
  fulfills that requirement while providing a lot of flexibility and
  reusability in handling the logged messages.

  You might want to log messages to a file:

    use Log::Dispatch;

    my $dispatcher = Log::Dispatch->new;

    $dispatcher->add(Log::Dispatch::File->new(
      name      => 'file1',
      min_level => 'debug',
      filename  => 'logfile'));

    my $obj = MyObject->new(log => $dispatcher);
    $obj->do_it;

  But what happens if we don't define a log object? Your object's methods
  would have to check whether a log object is defined before calling the
  'log()' method. This leads to lots of unwieldy code like

    sub do_it {
      my $self = shift;
      if (defined (my $log = $self->log)) {
        $log->log(level => 'debug', message => 'starting to do it');
      }
      ...
      if (defined (my $log = $self->log)) {
        $log->log(level => 'debug', message => 'still doing it');
      }
      ...
      if (defined (my $log = $self->log)) {
        $log->log(level => 'debug', message => 'finished doing it');
      }
    }

  The proliferation of if-statements really distracts from the actual call to
  'log()' and also distracts from the rest of the method code. There is a
  better way. We can ensure that there is always a log object that we can
  call 'log()' on, even if it doesn't do very much (or in fact, anything at
  all).

  This object with null functionality is what is called a null object. We can
  create the object the usual way, using the 'new()' constructor, and call
  any method on it, and all methods will do the same - nothing. (Actually, it
  always returns the same 'Class::Null' singleton object, enabling method
  chaining.) It's effectively a catch-all object. We can use this class with
  our own object like this:

    package MyObject;

    use Class::Null;

    

    sub init {
      my $self = shift;
      ...
      $self->log(Class::Null->new);
      ...
    }

    sub do_it {
      my $self = shift;
      $self->log->log(level => 'debug', message => 'starting to do it');
      ...
      $self->log->log(level => 'debug', message => 'still doing it');
      ...
      $self->log->log(level => 'debug', message => 'finished doing it');
    }

  This is only one example of using a null class, but it can be used whenever
  you want to make an optional helper object into a mandatory helper object,
  thereby avoiding unnecessarily complicated checks and preserving the
  transparency of how your objects are related to each other and how they
  call each other.

  Although 'Class::Null' is exceedingly simple it has been made into a
  distribution and put on CPAN to avoid further clutter and repetitive
  definitions.


name: perl-Class-OOorNO
arch: noarch
version: 0.011
epoch: 0
release: 1.52
summary: Give your module classic I<AND> OO interfaces
url: http://search.cpan.org/dist/Class-OOorNO/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus1
rpm_sourcerpm: perl-Class-OOorNO-0.011-1.52.src.rpm
location_href: noarch/perl-Class-OOorNO-0.011-1.52.noarch.rpm
checksum_type: sha512
pkgId:
  0d2991bd1f3241d7adaba25fb8921a5723615dea693e30af0c739b9f4dbc2b87e4dd61d5d45448bb86e55ec8e4a5274a88cb73d0e67b210d9f5cfb07a07b5927

description:
  Class::OOorNO helps your module handle the input for its subroutines
  whether called in object-oriented style _(as object methods or class
  methods with the arrow syntax '->')_, or in functional programming style
  _(as subroutines imported to the caller's namespace via Exporter)_.

  The bulk of this module comprises a lightweight, pure-Perl emulation of the
  Devel::Caller library's 'called_as_method()' routine which is written in C.

  Devel::Caller dives deep into the internals of of the Perl interpreter
  _(see perlguts)_ to trace stack frames and can get the input for any call
  in the stack. It's really handy for _Devel::_opment and debugging.

  This module is much more lightweight and focuses more on your module's
  _Class::_ methods themselves.


name: perl-Class-OOorNO
arch: src
version: 0.011
epoch: 0
release: 1.52
summary: Give your module classic I<AND> OO interfaces
url: http://search.cpan.org/dist/Class-OOorNO/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus1
location_href: src/perl-Class-OOorNO-0.011-1.52.src.rpm
checksum_type: sha512
pkgId:
  2c967058b5794b3541794597529dfbe97614918f3806a12253c732a4ccd755302456d3ee55e0d85e7ebbd47e4f1f7163d7d9648e0240ee2dbcfdfa492a710cab

description:
  Class::OOorNO helps your module handle the input for its subroutines
  whether called in object-oriented style _(as object methods or class
  methods with the arrow syntax '->')_, or in functional programming style
  _(as subroutines imported to the caller's namespace via Exporter)_.

  The bulk of this module comprises a lightweight, pure-Perl emulation of the
  Devel::Caller library's 'called_as_method()' routine which is written in C.

  Devel::Caller dives deep into the internals of of the Perl interpreter
  _(see perlguts)_ to trace stack frames and can get the input for any call
  in the stack. It's really handy for _Devel::_opment and debugging.

  This module is much more lightweight and focuses more on your module's
  _Class::_ methods themselves.


name: perl-Class-Object
arch: noarch
version: 0.01
epoch: 0
release: 8.57
summary: Each Object Is Its Own Class
url: http://search.cpan.org/dist/Class-Object/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus3
rpm_sourcerpm: perl-Class-Object-0.01-8.57.src.rpm
location_href: noarch/perl-Class-Object-0.01-8.57.noarch.rpm
checksum_type: sha512
pkgId:
  1461984436642a5a759dcad7c78075aa13b1152d8094b68ed3f37a573f94400dc35dc3c3e3f75a742d17abf0299ba554957d0119249d0f039dda180053c3bb65

description:
  Traditionally in OO, objects belong to a class and that class as methods.
  $poodle is an object of class Dog and Dog might have methods like bark(),
  fetch() and nose_crotch(). What if instead of the methods belonging to the
  Dog class, they belonged to the $poodle object itself?

  That's what Class::Object does.


name: perl-Class-Object
arch: src
version: 0.01
epoch: 0
release: 8.57
summary: Each Object Is Its Own Class
url: http://search.cpan.org/dist/Class-Object/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus3
location_href: src/perl-Class-Object-0.01-8.57.src.rpm
checksum_type: sha512
pkgId:
  9ac581975e15290ab975a53a0f38e6fb45d2d44155cb0d2409ade5d998bea061b085292594b3d69ad5cbf2534d60657e61a5f32e4c8546d915587d6404d58b89

description:
  Traditionally in OO, objects belong to a class and that class as methods.
  $poodle is an object of class Dog and Dog might have methods like bark(),
  fetch() and nose_crotch(). What if instead of the methods belonging to the
  Dog class, they belonged to the $poodle object itself?

  That's what Class::Object does.


name: perl-Class-ObjectTemplate
arch: noarch
version: 0.7
epoch: 0
release: 6.2
summary: Perl extension for an optimized template
url: http://search.cpan.org/dist/Class-ObjectTemplate/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: cloud114
rpm_sourcerpm: perl-Class-ObjectTemplate-0.7-6.2.src.rpm
location_href: noarch/perl-Class-ObjectTemplate-0.7-6.2.noarch.rpm
checksum_type: sha512
pkgId:
  ff504180bab77098d333de5bf42b104d8ee56b5c4f8997b862a76d760882bfba8b660025f9ea50317d96e252ce31c8400241b34b8ac7683a0ae6eabcad90fa8d

description:
  Class::ObjectTemplate is a utility class to assist in the building of other
  Object Oriented Perl classes.

  It was described in detail in the O\'Reilly book, "Advanced Perl
  Programming" by Sriram Srinivasam.


name: perl-Class-ObjectTemplate
arch: src
version: 0.7
epoch: 0
release: 6.2
summary: Perl extension for an optimized template
url: http://search.cpan.org/dist/Class-ObjectTemplate/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: cloud114
location_href: src/perl-Class-ObjectTemplate-0.7-6.2.src.rpm
checksum_type: sha512
pkgId:
  9527d794cd5f3c38d66e18300a74860e8c639708d73113c1ad835744b7b0f49e3a5c8f9460204e05064340882e71c546f29a2387286d28ab217028f3c75a6d9e

description:
  Class::ObjectTemplate is a utility class to assist in the building of other
  Object Oriented Perl classes.

  It was described in detail in the O\'Reilly book, "Advanced Perl
  Programming" by Sriram Srinivasam.


name: perl-Class-Observable
arch: noarch
version: 2.004
epoch: 0
release: 1.7
summary: Allow other classes and objects to respond to events in yours
url: https://metacpan.org/release/Class-Observable
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Unspecified
rpm_buildhost: build71
rpm_sourcerpm: perl-Class-Observable-2.004-1.7.src.rpm
location_href: noarch/perl-Class-Observable-2.004-1.7.noarch.rpm
checksum_type: sha512
pkgId:
  fc273fd44b405379b08c65778d86e863f77cd57c036be33e06dd4e72592b80a262d6a007a37b08d00319d2d5589efc82ec2ed19726242bed4fa191e806b682f0

description:
  If you have ever used Java, you may have run across the
  'java.util.Observable' class and the 'java.util.Observer' interface. With
  them you can decouple an object from the one or more objects that wish to
  be notified whenever particular events occur.

  These events occur based on a contract with the observed item. They may
  occur at the beginning, in the middle or end of a method. In addition, the
  object *knows* that it is being observed. It just does not know how many or
  what types of objects are doing the observing. It can therefore control
  when the messages get sent to the obsevers.

  The behavior of the observers is up to you. However, be aware that we do
  not do any error handling from calls to the observers. If an observer
  throws a 'die', it will bubble up to the observed item and require handling
  there. So be careful.


name: perl-Class-Observable
arch: src
version: 2.004
epoch: 0
release: 1.7
summary: Allow other classes and objects to respond to events in yours
url: https://metacpan.org/release/Class-Observable
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Unspecified
rpm_buildhost: build71
location_href: src/perl-Class-Observable-2.004-1.7.src.rpm
checksum_type: sha512
pkgId:
  d705419eacc40e3f039f2fcb87c8974ab8077f4746b7def2716d0ba7298fbe34953b4063a54c9c6faa1fea7fc2bd39445dba29c301ae056d809edcb537a62698

description:
  If you have ever used Java, you may have run across the
  'java.util.Observable' class and the 'java.util.Observer' interface. With
  them you can decouple an object from the one or more objects that wish to
  be notified whenever particular events occur.

  These events occur based on a contract with the observed item. They may
  occur at the beginning, in the middle or end of a method. In addition, the
  object *knows* that it is being observed. It just does not know how many or
  what types of objects are doing the observing. It can therefore control
  when the messages get sent to the obsevers.

  The behavior of the observers is up to you. However, be aware that we do
  not do any error handling from calls to the observers. If an observer
  throws a 'die', it will bubble up to the observed item and require handling
  there. So be careful.


name: perl-Class-PObject
arch: noarch
version: 2.17
epoch: 0
release: 77.41
summary: Simple framework for programming persistent objects
url: https://metacpan.org/release/Class-PObject
rpm_license: GPL-1.0-or-later OR Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: beatles
rpm_sourcerpm: perl-Class-PObject-2.17-77.41.src.rpm
location_href: noarch/perl-Class-PObject-2.17-77.41.noarch.rpm
checksum_type: sha512
pkgId:
  b731dc34936431cc2edad8a165adc890268cdfd04db47a7ad3e967a19dfe18387198e369498fa3a65920e459149d56c8e4bbbcd00cde66a79b13cdab784743c7

description:
  Class::PObject is a simple class framework for programming persistent
  objects in Perl. Such objects can store themselves into disk, and restore
  themselves from disk.


name: perl-Class-PObject
arch: src
version: 2.17
epoch: 0
release: 77.41
summary: Simple framework for programming persistent objects
url: https://metacpan.org/release/Class-PObject
rpm_license: GPL-1.0-or-later OR Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: beatles
location_href: src/perl-Class-PObject-2.17-77.41.src.rpm
checksum_type: sha512
pkgId:
  13396e722805246715cd063070c5734fd424691e258f2a86145f24606785a3fa7e5d06dcb0a0ec0b41adc2aac3e7c0179e3dcc81902ca3656a0e49c55a1286bc

description:
  Class::PObject is a simple class framework for programming persistent
  objects in Perl. Such objects can store themselves into disk, and restore
  themselves from disk.


name: perl-Class-Param
arch: noarch
version: 0.1
epoch: 0
release: 9.40
summary: Param Class
description: Provides several classes to work with CGI.pm style params.
url: http://search.cpan.org/dist/Class-Param/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb52
rpm_sourcerpm: perl-Class-Param-0.1-9.40.src.rpm
location_href: noarch/perl-Class-Param-0.1-9.40.noarch.rpm
checksum_type: sha512
pkgId:
  cbf9fa8c174e1efae84c2c5c4195aaad28b79e26ce5c52f33121ad2f24182c2d4f313646c27a43911d56d8a19bfad481397bae1de243e3f32d6a2bebe1a64c34


name: perl-Class-Param
arch: src
version: 0.1
epoch: 0
release: 9.40
summary: Param Class
description: Provides several classes to work with CGI.pm style params.
url: http://search.cpan.org/dist/Class-Param/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb52
location_href: src/perl-Class-Param-0.1-9.40.src.rpm
checksum_type: sha512
pkgId:
  c1deb756ce0d1822b47bfd1326247489205402f35c71ae9cd693182a4013d3dba7366f535f778ee7a4bb1a891fd17d1e77d30499976adcdbda0e6d3f3775fc78


name: perl-Class-ParamParser
arch: noarch
version: 1.041
epoch: 0
release: 8.58
summary: Provides complex parameter list parsing
url: http://search.cpan.org/dist/Class-ParamParser/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-atreju3
rpm_sourcerpm: perl-Class-ParamParser-1.041-8.58.src.rpm
location_href: noarch/perl-Class-ParamParser-1.041-8.58.noarch.rpm
checksum_type: sha512
pkgId:
  a631a7065b2a812e4e5982b4aa4e4f87544553f89dca5ded3a3618ad6b58d634ea8290f741aa0e0afb2d4db40ae120640aa6888b2407406b24f1c34942dd245a

description:
  This Perl 5 object class implements two methods which inherited classes can
  use to tidy up parameter lists for their own methods and functions. The two
  methods differ in that one returns a HASH ref containing named parameters
  and the other returns an ARRAY ref containing positional parameters.

  Both methods can process the same kind of input parameter formats:

  Those examples included single or multiple positional parameters, single or
  multiple named parameters, and a HASH ref containing named parameters (with
  optional "remaining" values afterwards). That list of input variations is
  not exhaustive. Named parameters can either be prefixed with "-" or left
  natural.

  We assume that the parameters are named when either they come as a HASH ref
  or the first parameter begins with a "-". We assume that they are
  positional if there is an odd number of them. Otherwise we are in doubt and
  rely on an optional argument to the tidying method that tells us which to
  guess by default.

  We assume that any "value" may be an array ref (aka "multiple" values under
  the same name) and hence we don't do anything special with them, passing
  them as is. The only exception to this is with "remaining" values; if there
  is more than one of them and the first isn't an array ref, then they are
  all put in an array ref.

  If the source and destination are both positional, then they are identical.


name: perl-Class-ParamParser
arch: src
version: 1.041
epoch: 0
release: 8.58
summary: Provides complex parameter list parsing
url: http://search.cpan.org/dist/Class-ParamParser/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-atreju3
location_href: src/perl-Class-ParamParser-1.041-8.58.src.rpm
checksum_type: sha512
pkgId:
  802f84d6e26cef2b31fb70440762bf5d76220cd74f7f11e3c00c28f95e099eb5f8aea95364493bfe74eeae4f513cde3cff6b3351f79280342077b7ae1c422867

description:
  This Perl 5 object class implements two methods which inherited classes can
  use to tidy up parameter lists for their own methods and functions. The two
  methods differ in that one returns a HASH ref containing named parameters
  and the other returns an ARRAY ref containing positional parameters.

  Both methods can process the same kind of input parameter formats:

  Those examples included single or multiple positional parameters, single or
  multiple named parameters, and a HASH ref containing named parameters (with
  optional "remaining" values afterwards). That list of input variations is
  not exhaustive. Named parameters can either be prefixed with "-" or left
  natural.

  We assume that the parameters are named when either they come as a HASH ref
  or the first parameter begins with a "-". We assume that they are
  positional if there is an odd number of them. Otherwise we are in doubt and
  rely on an optional argument to the tidying method that tells us which to
  guess by default.

  We assume that any "value" may be an array ref (aka "multiple" values under
  the same name) and hence we don't do anything special with them, passing
  them as is. The only exception to this is with "remaining" values; if there
  is more than one of them and the first isn't an array ref, then they are
  all put in an array ref.

  If the source and destination are both positional, then they are identical.


name: perl-Class-Params
arch: noarch
version: 0.05
epoch: 0
release: 1.16
summary: Parameter utils for constructor
description: Parameter utils for constructor.
url: http://search.cpan.org/dist/Class-Params/
rpm_license: BSD-3-Clause
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-atreju2
rpm_sourcerpm: perl-Class-Params-0.05-1.16.src.rpm
location_href: noarch/perl-Class-Params-0.05-1.16.noarch.rpm
checksum_type: sha512
pkgId:
  b3643f7c58fac84eb5ec8fb6dd0cda7428c07f25d208db897d71e58c1b2784b6748a71f127affebd703b51db032b4659e1a18ccb3fb374c335c076d8b719ea84


name: perl-Class-Params
arch: src
version: 0.05
epoch: 0
release: 1.16
summary: Parameter utils for constructor
description: Parameter utils for constructor.
url: http://search.cpan.org/dist/Class-Params/
rpm_license: BSD-3-Clause
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-atreju2
location_href: src/perl-Class-Params-0.05-1.16.src.rpm
checksum_type: sha512
pkgId:
  6a4bc64cb79ef6cff5bd687adec162b0958d3a8b7e72d6b7300272c4238c0810df97e065bb8eb93c66f6338ecb1e10506611f728b264ab51eec3e06e5e0f5be0


name: perl-Class-ParmList
arch: noarch
version: 1.06
epoch: 0
release: 1.25
summary: Methods for processing named parameter lists
url: https://metacpan.org/release/Class-ParmList
rpm_license: MIT
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat19
rpm_sourcerpm: perl-Class-ParmList-1.06-1.25.src.rpm
location_href: noarch/perl-Class-ParmList-1.06-1.25.noarch.rpm
checksum_type: sha512
pkgId:
  7d1f2d8595681cf5414d25880e31919a0ca77081c7b4fb7e21f8aeb5b55847eae0ac25a33cf609fe58b200901a86e160cef48c7f31bfee0112e0ffd523832028

description:
  This is a simple package for validating calling parameters to a subroutine
  or method. It allows you to use "named parameters" while providing checking
  for number and naming of parameters for verifying inputs are as expected
  and meet any minimum requirements. It also allows the setting of default
  values for the named parameters if omitted.


name: perl-Class-ParmList
arch: src
version: 1.06
epoch: 0
release: 1.25
summary: Methods for processing named parameter lists
url: https://metacpan.org/release/Class-ParmList
rpm_license: MIT
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat19
location_href: src/perl-Class-ParmList-1.06-1.25.src.rpm
checksum_type: sha512
pkgId:
  3d68ea0902d28038585f8a364d025cf743ee39362966599cb62303a406d1b5e9cd65b1f4c9323cd5c083cd753c509f6b0612d8f074e55e529edee9a28fc1e539

description:
  This is a simple package for validating calling parameters to a subroutine
  or method. It allows you to use "named parameters" while providing checking
  for number and naming of parameters for verifying inputs are as expected
  and meet any minimum requirements. It also allows the setting of default
  values for the named parameters if omitted.


name: perl-Class-Phrasebook-Perl
arch: noarch
version: 0.01
epoch: 0
release: 9.395
summary: Implements the Phrasebook pattern, using an all Perl dictionary file
url: http://search.cpan.org/dist/Class-Phrasebook-Perl/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb56
rpm_sourcerpm: perl-Class-Phrasebook-Perl-0.01-9.395.src.rpm
location_href: noarch/perl-Class-Phrasebook-Perl-0.01-9.395.noarch.rpm
checksum_type: sha512
pkgId:
  30a7a0e33159255d6694e999eb09be4bedfb500f2d27cc3de6ac8882a6e0998d865139e7a21b6803754d18c065290a891ccd71a63681e4e95cd6272e02d9d7dc

description:
  This class implements the Phrasebook pattern, which allows us to create
  dictionaries of phrases. Each phrase is accessed via a unique key and may
  contain placeholders which are replaced when the phrase is retrieved.
  Groups of phrases are stored in dictionaries, with the default dictionary
  being the one that alphabetically occurs first. Phrases are stored in a
  Perl configuration file, which allows values to be scalars, arrays, hashes
  or even subroutines.


name: perl-Class-Phrasebook-Perl
arch: src
version: 0.01
epoch: 0
release: 9.395
summary: Implements the Phrasebook pattern, using an all Perl dictionary file
url: http://search.cpan.org/dist/Class-Phrasebook-Perl/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb56
location_href: src/perl-Class-Phrasebook-Perl-0.01-9.395.src.rpm
checksum_type: sha512
pkgId:
  432b797e0a304e2610c0b43286eb8c3c889dbeaf1c5dfe8a7142c1cc7ea20d6fcbeb252fe4268a50ffc6c02ced88369345cced2bb5047c9abccbc69a3463848a

description:
  This class implements the Phrasebook pattern, which allows us to create
  dictionaries of phrases. Each phrase is accessed via a unique key and may
  contain placeholders which are replaced when the phrase is retrieved.
  Groups of phrases are stored in dictionaries, with the default dictionary
  being the one that alphabetically occurs first. Phrases are stored in a
  Perl configuration file, which allows values to be scalars, arrays, hashes
  or even subroutines.


name: perl-Class-Plain
arch: src
version: 0.06
epoch: 0
release: 1.6
summary: Class syntax for the hash-based Perl OO
description: a class syntax for the hash-based Perl OO.
url: https://metacpan.org/release/Class-Plain
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Unspecified
rpm_buildhost: old-cirrus3
location_href: src/perl-Class-Plain-0.06-1.6.src.rpm
checksum_type: sha512
pkgId:
  860b33c67b1279d6d612a8a7ead4d81fc6c5b4c926eafc3fe85390525916dcf33c611f50a25c45b47ee90ea3454722b67bae3a2f5faefb9d5c2d4feef566aec5


name: perl-Class-Plain
arch: x86_64
version: 0.06
epoch: 0
release: 1.6
summary: Class syntax for the hash-based Perl OO
description: a class syntax for the hash-based Perl OO.
url: https://metacpan.org/release/Class-Plain
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Unspecified
rpm_buildhost: old-cirrus3
rpm_sourcerpm: perl-Class-Plain-0.06-1.6.src.rpm
location_href: x86_64/perl-Class-Plain-0.06-1.6.x86_64.rpm
checksum_type: sha512
pkgId:
  247551e2ad2d402113024c6ea27055786b6a3545596af654e169a250cb1e7640919dfd1f62a6a3bddc32a5f4151357e897316537af97b71943961c1736fa4bab


name: perl-Class-Pluggable
arch: noarch
version: 0.022
epoch: 0
release: 8.54
summary: Simple pluggable class
url: http://search.cpan.org/dist/Class-Pluggable/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: stones
rpm_sourcerpm: perl-Class-Pluggable-0.022-8.54.src.rpm
location_href: noarch/perl-Class-Pluggable-0.022-8.54.noarch.rpm
checksum_type: sha512
pkgId:
  1f4f597cf80657042c3efd405217f2a2e7a43a5b41ee96b6dc98749cee5b870a6ad3be15c7e3471bc08bf9f4cd085d50a2d5e7d554151d2c110e25ec209e63c0

description:
  This class makes your class (sub class of Class::Pluggable) pluggable. In
  this documentatin, the word "pluggable" has two meanings.

  One is just simply adding new method to your pluggable classs from other
  plugin modules. So, after you plugged some modules to your class, you can
  use there method exactly same as your own object method.

  You can see this kind of plugin mechanism in CGI::Application and
  CGI::Application::Plugin::Session.

  There are one thing that Plugin developer have to know. The plugin module
  MUST have @EXPORT_AS_PLUGIN to use this pluggable mechanism. This works
  almost same as @EXPORT. But the methods in the @EXPORT_AS_PLUGIN wouldn't
  be exported to your package. But it would be exported to the subclass of
  Class::Pluggable (only when you call add_plugin()).

  And the another meaning of "pluggable" is so called hook-mechanism. For
  example, if you want to allow to other modules to do something before
  and/or after some action. You can do like this:

    $self->execute_plugin_method($_, "before_action")
      foreach $self->get_plugins();

    

    $self->execute_plugin_method($_, "after_action")
      foreach $self->get_plugins();


name: perl-Class-Pluggable
arch: src
version: 0.022
epoch: 0
release: 8.54
summary: Simple pluggable class
url: http://search.cpan.org/dist/Class-Pluggable/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: stones
location_href: src/perl-Class-Pluggable-0.022-8.54.src.rpm
checksum_type: sha512
pkgId:
  78afc5662d33c912c439b344f203c3a1882f60d5d42d2d833fccbc26c717c9b94db4e56cc6c91bbdcdfe880f95c6020cd0602fec3dfd2ab68bcdb7319e8076c9

description:
  This class makes your class (sub class of Class::Pluggable) pluggable. In
  this documentatin, the word "pluggable" has two meanings.

  One is just simply adding new method to your pluggable classs from other
  plugin modules. So, after you plugged some modules to your class, you can
  use there method exactly same as your own object method.

  You can see this kind of plugin mechanism in CGI::Application and
  CGI::Application::Plugin::Session.

  There are one thing that Plugin developer have to know. The plugin module
  MUST have @EXPORT_AS_PLUGIN to use this pluggable mechanism. This works
  almost same as @EXPORT. But the methods in the @EXPORT_AS_PLUGIN wouldn't
  be exported to your package. But it would be exported to the subclass of
  Class::Pluggable (only when you call add_plugin()).

  And the another meaning of "pluggable" is so called hook-mechanism. For
  example, if you want to allow to other modules to do something before
  and/or after some action. You can do like this:

    $self->execute_plugin_method($_, "before_action")
      foreach $self->get_plugins();

    

    $self->execute_plugin_method($_, "after_action")
      foreach $self->get_plugins();


name: perl-Class-Plugin-Util
arch: noarch
version: 0.009
epoch: 0
release: 7.2
summary: Utility functions for supporting Plug-ins.
description: This module has utility functions for creating dynamic classes.
url: http://search.cpan.org/dist/Class-Plugin-Util/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: build33
rpm_sourcerpm: perl-Class-Plugin-Util-0.009-7.2.src.rpm
location_href: noarch/perl-Class-Plugin-Util-0.009-7.2.noarch.rpm
checksum_type: sha512
pkgId:
  ec200675d71564bd3660dd03daf4a5680ba6f60aba2afa13ffeee59f658ab4e85870fa6838661e15754482f1fc0efd662160d1ec0b06268b3f7b626b15b303a5


name: perl-Class-Plugin-Util
arch: src
version: 0.009
epoch: 0
release: 7.2
summary: Utility functions for supporting Plug-ins.
description: This module has utility functions for creating dynamic classes.
url: http://search.cpan.org/dist/Class-Plugin-Util/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: build33
location_href: src/perl-Class-Plugin-Util-0.009-7.2.src.rpm
checksum_type: sha512
pkgId:
  1d5e6c4a0815f739831eee9f5d24cf9976be95e7bb81cce7d06ea048315dbf64cd2156db6083ddbbf14e010b9e663ecdfed58ea9e69ffb312ebf6e691109969d


name: perl-Class-Prevayler
arch: noarch
version: 0.02
epoch: 0
release: 8.59
summary: Prevayler implementation - www.prevayler.org
url: http://search.cpan.org/dist/Class-Prevayler/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: beatles
rpm_sourcerpm: perl-Class-Prevayler-0.02-8.59.src.rpm
location_href: noarch/perl-Class-Prevayler-0.02-8.59.noarch.rpm
checksum_type: sha512
pkgId:
  55bcc7058181e6847880f1b7c1aa05afb0df555a6c409864ca23c2186222022a6e28512e43f57bfaea0b24ab4785b4989bb3092302034515d3c63cdfc5110f12

description:
  THIS IS BETA-SOFTWARE!!

  Class::Prevayler - aka 'Perlvayler' - is a Perl implementation of the
  prevayler concept.

  You can find an introduction to this concept on www.prevayler.org.

  This module overloads the 'time', 'localtime' and 'gmtime' functions to
  make the system deterministic.


name: perl-Class-Prevayler
arch: src
version: 0.02
epoch: 0
release: 8.59
summary: Prevayler implementation - www.prevayler.org
url: http://search.cpan.org/dist/Class-Prevayler/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: beatles
location_href: src/perl-Class-Prevayler-0.02-8.59.src.rpm
checksum_type: sha512
pkgId:
  5cb9bd59530a38272126e4acf9f67ac340b4b863bdd46a73089ab4fff378f7b826dc24f5777bc9da42ad6eff10bbe3e825b175d51f8fc6b1453e8811bef9ba1c

description:
  THIS IS BETA-SOFTWARE!!

  Class::Prevayler - aka 'Perlvayler' - is a Perl implementation of the
  prevayler concept.

  You can find an introduction to this concept on www.prevayler.org.

  This module overloads the 'time', 'localtime' and 'gmtime' functions to
  make the system deterministic.


name: perl-Class-Printable
arch: noarch
version: 0.02
epoch: 0
release: 8.54
summary: Base Class for Printable Objects
url: http://search.cpan.org/dist/Class-Printable/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb25
rpm_sourcerpm: perl-Class-Printable-0.02-8.54.src.rpm
location_href: noarch/perl-Class-Printable-0.02-8.54.noarch.rpm
checksum_type: sha512
pkgId:
  5b802fa958a3f5e577e7165fcaa6faaf15aa3a650f143a1028d9f242837d76d7eb694e389370d3ce6f714eb639d7ede24587ffd4a3d7822ca029d1ecfe0ceafc

description:
  Sometimes it is nice to have your objects return something a bit more
  complex then 'MyObject=HASH(0x3bac438)' when you 'print' them. This module
  is a base class for adding that capability to your objects. This is a very
  simple class which when used as a base does not actually change the normal
  perl stringification behavior unless you override the classes 'toString'
  method. Basically, it is there if you need it, and silent otherwise.


name: perl-Class-Printable
arch: src
version: 0.02
epoch: 0
release: 8.54
summary: Base Class for Printable Objects
url: http://search.cpan.org/dist/Class-Printable/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb25
location_href: src/perl-Class-Printable-0.02-8.54.src.rpm
checksum_type: sha512
pkgId:
  c6e9934997cf47e7a414c846281db3d0e40943169aea7f68d07d6c74aa10bcf0a6fa017f96023b1ba1681f4cc389379cc8e204477da59050297e13bf11b7b693

description:
  Sometimes it is nice to have your objects return something a bit more
  complex then 'MyObject=HASH(0x3bac438)' when you 'print' them. This module
  is a base class for adding that capability to your objects. This is a very
  simple class which when used as a base does not actually change the normal
  perl stringification behavior unless you override the classes 'toString'
  method. Basically, it is there if you need it, and silent otherwise.


name: perl-Class-Privacy
arch: noarch
version: 0.03
epoch: 0
release: 8.56
summary: Object Data Privacy
url: http://search.cpan.org/dist/Class-Privacy/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus3
rpm_sourcerpm: perl-Class-Privacy-0.03-8.56.src.rpm
location_href: noarch/perl-Class-Privacy-0.03-8.56.noarch.rpm
checksum_type: sha512
pkgId:
  c6b022ba2a468997f8a5b3b89d5c568b7b82242a72e62c1e0f4681ac0e380dfafee3187440cd62b6a79e4ffe29f6b7c3f933bd685ae252627cfc0f0fbecf88aa

description:
  With the Class::Privacy module you can deny other classes from trying to
  directly access the data of your objects. Simply add the following to your
  class:

      use Class::Privacy;

  This disallows any outside attempts to directly access (dereference) the
  inner parts of the objects, only the class itself can do it. For outsiders
  the only allowed access is through the methods defined in the class.

  This is what happens if an outsider tries to access the innards of the
  objects:

      Cannot dereference 'NoPeeking' object at ...

  The denial of access includes even derived classes. In other words, this is
  what most object-oriented languages call _private_.

  There is no way to have _protected_, _package_, _friend_ or any other
  privacy levels. This can be considered to be a feature, not a bug.


name: perl-Class-Privacy
arch: src
version: 0.03
epoch: 0
release: 8.56
summary: Object Data Privacy
url: http://search.cpan.org/dist/Class-Privacy/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus3
location_href: src/perl-Class-Privacy-0.03-8.56.src.rpm
checksum_type: sha512
pkgId:
  a04fc5ee4b255a05566aa7cfa93eaff0346364a48ef335a60dde6cdffbe6778ee2db5030c606340a0bf41cd436b46ec91f9543c4e3a84b77a3abf966b0b498c4

description:
  With the Class::Privacy module you can deny other classes from trying to
  directly access the data of your objects. Simply add the following to your
  class:

      use Class::Privacy;

  This disallows any outside attempts to directly access (dereference) the
  inner parts of the objects, only the class itself can do it. For outsiders
  the only allowed access is through the methods defined in the class.

  This is what happens if an outsider tries to access the innards of the
  objects:

      Cannot dereference 'NoPeeking' object at ...

  The denial of access includes even derived classes. In other words, this is
  what most object-oriented languages call _private_.

  There is no way to have _protected_, _package_, _friend_ or any other
  privacy levels. This can be considered to be a feature, not a bug.


name: perl-Class-Private
arch: src
version: 0.05
epoch: 0
release: 8.80
summary: Private hashes for your objects
url: http://search.cpan.org/dist/Class-Private/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: cloud124
location_href: src/perl-Class-Private-0.05-8.80.src.rpm
checksum_type: sha512
pkgId:
  0bd1bfa860f8b19fda4908c4f2db32541ed880dd60bf2fc5c13c188b95ae356f4cff20d05c96af7094a015259b8db7f5cd3617b1798cb6f7617bf00e556fbf9d

description:
  This module provides some level of encapsulation around hashrefs for
  objects. It does this by transforming every 'key' into 'package::key'. This
  way you won't have collisions. If the key contains '::', it will not be
  transformed, and normal access takes place. Thus keys from other packages
  can be accessed explicitly if necessary.


name: perl-Class-Private
arch: x86_64
version: 0.05
epoch: 0
release: 8.80
summary: Private hashes for your objects
url: http://search.cpan.org/dist/Class-Private/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: cloud124
rpm_sourcerpm: perl-Class-Private-0.05-8.80.src.rpm
location_href: x86_64/perl-Class-Private-0.05-8.80.x86_64.rpm
checksum_type: sha512
pkgId:
  5cb07a866a7f8b0f467f0d63cc6403d658e636f6483d714923999c1775243cf56dbd081d4390fa69abc756ec14ac6d7ae8f2acd80b27854309a8ae5f6e86c820

description:
  This module provides some level of encapsulation around hashrefs for
  objects. It does this by transforming every 'key' into 'package::key'. This
  way you won't have collisions. If the key contains '::', it will not be
  transformed, and normal access takes place. Thus keys from other packages
  can be accessed explicitly if necessary.


name: perl-Class-Property
arch: noarch
version: 1.002
epoch: 0
release: 3.58
summary: Perl implementation of class properties
description: Perl implementation of class properties.
url: http://search.cpan.org/dist/Class-Property/
rpm_license: MIT
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep85
rpm_sourcerpm: perl-Class-Property-1.002-3.58.src.rpm
location_href: noarch/perl-Class-Property-1.002-3.58.noarch.rpm
checksum_type: sha512
pkgId:
  42bab91ead00173609668220b16b7c9e1b89f1ba70e253c8991b7baa466de82683f030ad24fd5b257f4edeeebfb3a6a37da992bfe5607c644fbedf5db82bcf49


name: perl-Class-Property
arch: src
version: 1.002
epoch: 0
release: 3.58
summary: Perl implementation of class properties
description: Perl implementation of class properties.
url: http://search.cpan.org/dist/Class-Property/
rpm_license: MIT
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep85
location_href: src/perl-Class-Property-1.002-3.58.src.rpm
checksum_type: sha512
pkgId:
  6789bd16c38305cd80b6573bd6acc651493c6b0849e665334e5d3f416a9fed6a8c58df655bc1d4e1fcfa364bdc0e5ab7e821bd68ba01d4c086f33b5488f03760


name: perl-Class-Prototyped
arch: noarch
version: 1.13
epoch: 0
release: 1.55
summary: Fast prototype-based OO programming in Perl
url: http://search.cpan.org/dist/Class-Prototyped/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb06
rpm_sourcerpm: perl-Class-Prototyped-1.13-1.55.src.rpm
location_href: noarch/perl-Class-Prototyped-1.13-1.55.noarch.rpm
checksum_type: sha512
pkgId:
  3e52daecd3b85eb84a9f313ba4410a6082d57b0042de4815785455aa49820ab3f91b37bb46e43c5c36e8118f68388c55f5da7c16cf64f54d46d6ad7177a50662

description:
  This package provides for efficient and simple prototype-based programming
  in Perl. You can provide different subroutines for each object, and also
  have objects inherit their behavior and state from another object.

  The structure of an object is inspected and modified through _mirrors_,
  which are created by calling 'reflect' on an object or class that inherits
  from 'Class::Prototyped'.


name: perl-Class-Prototyped
arch: src
version: 1.13
epoch: 0
release: 1.55
summary: Fast prototype-based OO programming in Perl
url: http://search.cpan.org/dist/Class-Prototyped/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb06
location_href: src/perl-Class-Prototyped-1.13-1.55.src.rpm
checksum_type: sha512
pkgId:
  a8d4d28fb2bd9b51dc8bbf49d645eafc89f11c390a8b9fd338e80872913e3cb7c923d7b5d1dfc52d968f7135e6abb41edc2f402f668f6fb248096d6ade610377

description:
  This package provides for efficient and simple prototype-based programming
  in Perl. You can provide different subroutines for each object, and also
  have objects inherit their behavior and state from another object.

  The structure of an object is inspected and modified through _mirrors_,
  which are created by calling 'reflect' on an object or class that inherits
  from 'Class::Prototyped'.


name: perl-Class-Prototyped-Mixin
arch: noarch
version: 3
epoch: 0
release: 8.58
summary: Mixin Support for Class::Prototyped
url: http://search.cpan.org/dist/Class-Prototyped-Mixin/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb28
rpm_sourcerpm: perl-Class-Prototyped-Mixin-3-8.58.src.rpm
location_href: noarch/perl-Class-Prototyped-Mixin-3-8.58.noarch.rpm
checksum_type: sha512
pkgId:
  e5ef5e7dfe7e0b706c188a1cdad4f1ecd270569fac03b62fcf30a096408672e560144d8f28e2e9b3b5ccbf1ee0ad2525c47dae8349f6e9b438cc573505fc07be

description:
  This module aids prototyped-based object programming in Perl by making it
  easy to layer functionality on base functionality via a collection of mixin
  classes. The SYNOPSIS is admittedly easier done via a 'fold' or some other
  pure functional approach. However, the case for intelligent, "performant"
  mixins is argued strongly here:
  http://www.mail-archive.com/sw-design@metaperl.com/msg00060.html

  To date, the Mixin contributions to CPAN use class-based OOP, with
  Class::MixinFactory being perhaps the most complete and best documented.
  This module is one of a series designed to show the flexibility, simplicity
  and power of prototyped-based object programming.

  The reason I wish to address object-oriented design concerns in
  prototype-based object-oriented programming is that it is simple, flexible
  and seems to involve less confusion than I see evolving with Perl
  class-based oop. For awhile there was interest in roles. Now there is
  interest in traits. And there has always been a long-standing interest in
  mixins, decoration, and delegation.

  I cringe at the thought of trying to get all of these technologies to meld
  in a large project. I cringe equally at those who talk and do not do: The
  last thing that is necessary is for me to SAY that prototyped-based oop can
  address real-world concerns yet not DEMONSTRATE.


name: perl-Class-Prototyped-Mixin
arch: src
version: 3
epoch: 0
release: 8.58
summary: Mixin Support for Class::Prototyped
url: http://search.cpan.org/dist/Class-Prototyped-Mixin/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb28
location_href: src/perl-Class-Prototyped-Mixin-3-8.58.src.rpm
checksum_type: sha512
pkgId:
  8fda031a8cd93022480407de3a492b70913e4ce10294014f0c0ca2511336b30d014c0f6d06642b033bd7472389a3696076a999010cd4f9a19b37220e57f14071

description:
  This module aids prototyped-based object programming in Perl by making it
  easy to layer functionality on base functionality via a collection of mixin
  classes. The SYNOPSIS is admittedly easier done via a 'fold' or some other
  pure functional approach. However, the case for intelligent, "performant"
  mixins is argued strongly here:
  http://www.mail-archive.com/sw-design@metaperl.com/msg00060.html

  To date, the Mixin contributions to CPAN use class-based OOP, with
  Class::MixinFactory being perhaps the most complete and best documented.
  This module is one of a series designed to show the flexibility, simplicity
  and power of prototyped-based object programming.

  The reason I wish to address object-oriented design concerns in
  prototype-based object-oriented programming is that it is simple, flexible
  and seems to involve less confusion than I see evolving with Perl
  class-based oop. For awhile there was interest in roles. Now there is
  interest in traits. And there has always been a long-standing interest in
  mixins, decoration, and delegation.

  I cringe at the thought of trying to get all of these technologies to meld
  in a large project. I cringe equally at those who talk and do not do: The
  last thing that is necessary is for me to SAY that prototyped-based oop can
  address real-world concerns yet not DEMONSTRATE.


name: perl-Class-Proxy-Lite
arch: noarch
version: 1.01
epoch: 0
release: 8.54
summary: Simple, lightweight object proxies
url: http://search.cpan.org/dist/Class-Proxy-Lite/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: cloud128
rpm_sourcerpm: perl-Class-Proxy-Lite-1.01-8.54.src.rpm
location_href: noarch/perl-Class-Proxy-Lite-1.01-8.54.noarch.rpm
checksum_type: sha512
pkgId:
  a934f8c68a51f0ba2780f540cc4e4a1ee49c6846c635aa46dbb4b042b7292139aab13adc0dcccdff19282b6ced4368630d2a0997842c02b320a8ad3361907b75

description:
  Each instance of this class serves as a proxy to a target object. The proxy
  is constructed from a _token_ and a _resolver_. The resolver is a code
  reference called with the token as its only argument; its job is to resolve
  the token into a reference to the desired target object.

  The proxy doesn't hold a reference to its target; instead, the token must
  be resolved each time a method call is made on the proxy.


name: perl-Class-Proxy-Lite
arch: src
version: 1.01
epoch: 0
release: 8.54
summary: Simple, lightweight object proxies
url: http://search.cpan.org/dist/Class-Proxy-Lite/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: cloud128
location_href: src/perl-Class-Proxy-Lite-1.01-8.54.src.rpm
checksum_type: sha512
pkgId:
  5934825b076d0393ec0b48b360c60ce5e91c7aa340e7ed05fec3a58fe1f90304ab2ab214c778eb41181da7839581328464a8607e187ec6303b47629ec53bc5b7

description:
  Each instance of this class serves as a proxy to a target object. The proxy
  is constructed from a _token_ and a _resolver_. The resolver is a code
  reference called with the token as its only argument; its job is to resolve
  the token into a reference to the desired target object.

  The proxy doesn't hold a reference to its target; instead, the token must
  be resolved each time a method call is made on the proxy.


name: perl-Class-PseudoHash
arch: noarch
version: 1.10
epoch: 0
release: 10.37
summary: Emulates Pseudo-Hash behaviour via overload
url: https://metacpan.org/release/Class-PseudoHash
rpm_license: MIT
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb69
rpm_sourcerpm: perl-Class-PseudoHash-1.10-10.37.src.rpm
location_href: noarch/perl-Class-PseudoHash-1.10-10.37.noarch.rpm
checksum_type: sha512
pkgId:
  9aafb6a16999b4a3ef3f1ab2e390860f9d40d006286c1bfbd1c20322693f089fe518d88ad8a6f1e84273e6c4f87675d1f914944314af3a3457176ef35e301e03

description:
  Due to its impact on overall performance of ordinary hashes, pseudo-hashes
  are deprecated in Perl 5.8.

  As of Perl 5.10, pseudo-hashes have been removed from Perl, replaced by
  restricted hashes provided by Hash::Util. Additionally, Perl 5.10 no longer
  supports the 'fields::phash()' API.

  Although perlref/Pseudo-hashes: Using an array as a hash recommends against
  depending on the underlying implementation (i.e. using the first array
  element as hash indice), there are undoubtly many legacy codebase still
  depending on pseudohashes; elimination of pseudo-hashes would therefore
  require a massive rewrite of their programs.

  Back in 2002, as one of the primary victims, I tried to devise a drop-in
  solution that could emulate exactly the same semantic of pseudo-hashes,
  thus keeping all my legacy code intact. So 'Class::PseudoHash' was born.

  Hence, if your code use the preferred 'fields::phash()' function, just
  write:

      use fields;
      use Class::PseudoHash;

  then everything will work like before. If you are creating pseudo-hashes by
  hand ('[{}]' anyone?), just write this instead:

      $ref = Class::PseudoHash->new;

  and use the returned object in whatever way you like.


name: perl-Class-PseudoHash
arch: src
version: 1.10
epoch: 0
release: 10.37
summary: Emulates Pseudo-Hash behaviour via overload
url: https://metacpan.org/release/Class-PseudoHash
rpm_license: MIT
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb69
location_href: src/perl-Class-PseudoHash-1.10-10.37.src.rpm
checksum_type: sha512
pkgId:
  673127b8ace4da603b995fd2685f5086f73c711c69a87ddc59b3dbcce75ba382994cd0609da0910ad9b7ae5a64c5543faec5d33c29ad22dbb2f479f741844040

description:
  Due to its impact on overall performance of ordinary hashes, pseudo-hashes
  are deprecated in Perl 5.8.

  As of Perl 5.10, pseudo-hashes have been removed from Perl, replaced by
  restricted hashes provided by Hash::Util. Additionally, Perl 5.10 no longer
  supports the 'fields::phash()' API.

  Although perlref/Pseudo-hashes: Using an array as a hash recommends against
  depending on the underlying implementation (i.e. using the first array
  element as hash indice), there are undoubtly many legacy codebase still
  depending on pseudohashes; elimination of pseudo-hashes would therefore
  require a massive rewrite of their programs.

  Back in 2002, as one of the primary victims, I tried to devise a drop-in
  solution that could emulate exactly the same semantic of pseudo-hashes,
  thus keeping all my legacy code intact. So 'Class::PseudoHash' was born.

  Hence, if your code use the preferred 'fields::phash()' function, just
  write:

      use fields;
      use Class::PseudoHash;

  then everything will work like before. If you are creating pseudo-hashes by
  hand ('[{}]' anyone?), just write this instead:

      $ref = Class::PseudoHash->new;

  and use the returned object in whatever way you like.


name: perl-Class-PublicPrivate
arch: noarch
version: 0.82
epoch: 0
release: 4.56
summary: Class with public keys with any name and a separate set
description: Class with public keys with any name and a separate set
url: http://search.cpan.org/dist/Class-PublicPrivate/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb05
rpm_sourcerpm: perl-Class-PublicPrivate-0.82-4.56.src.rpm
location_href: noarch/perl-Class-PublicPrivate-0.82-4.56.noarch.rpm
checksum_type: sha512
pkgId:
  93c93987c4eec8243513c29d2f7a583eebbf0b51e7da4379be5b4f081ef9203886e695d78875701be2c922bd4762ed24bb26801523d0e36b89760e8a79a0cb22


name: perl-Class-PublicPrivate
arch: src
version: 0.82
epoch: 0
release: 4.56
summary: Class with public keys with any name and a separate set
description: Class with public keys with any name and a separate set
url: http://search.cpan.org/dist/Class-PublicPrivate/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb05
location_href: src/perl-Class-PublicPrivate-0.82-4.56.src.rpm
checksum_type: sha512
pkgId:
  84617c90ed141c666afa687c809e3d6a6fdbafebcf446439115b249f8334cbe63af2925666d8c71306cea03d692ec2db22561a1272e8af5b5cbb369a57d47019


name: perl-Class-Publisher
arch: noarch
version: 0.2
epoch: 0
release: 8.60
summary: Simple Publish-Subscribe Event Framework
url: http://search.cpan.org/dist/Class-Publisher/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: hci-snode2-m0
rpm_sourcerpm: perl-Class-Publisher-0.2-8.60.src.rpm
location_href: noarch/perl-Class-Publisher-0.2-8.60.noarch.rpm
checksum_type: sha512
pkgId:
  cf6963f6cea95477ca0aa7a24794c4edf42ed91d464c01f7e25698f62e1993b67f911571113d83957fb05d6c643bcbded5a848fd19f4312027e721c02a4d0947

description:
  Class::Publisher impliments the Publish-Subscribe pattern (also referred to
  as the Observer pattern). It is often used in user interfaces when many
  entities are interested in a particular event. The Publish-Subscribe
  pattern decouples the publisher and subscriber and provides a generic
  interface for publishing and subscribing to events.

  This module is based on Class::Observable by Chris Winters. The main
  difference is that entities can subscribe to specific events raised by the
  publisher rather than receiving all notifications.

  Like Class::Observable, entities can subscribe to events raised by a
  publisher class or a publisher instance:

      My::Widget->add_subscriber('update', \&_on_widget_update);
      $widget->('update', sub {print STDERR "$widget raised update event"});


name: perl-Class-Publisher
arch: src
version: 0.2
epoch: 0
release: 8.60
summary: Simple Publish-Subscribe Event Framework
url: http://search.cpan.org/dist/Class-Publisher/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: hci-snode2-m0
location_href: src/perl-Class-Publisher-0.2-8.60.src.rpm
checksum_type: sha512
pkgId:
  d79d52c8ef98d212ec0db95608b13d0fef90c2bfe3dd7c0d22b8f65c6b066b101b44f83bfd92f9bde320d1555d813194944259f61c554760c6151220f1fd60a5

description:
  Class::Publisher impliments the Publish-Subscribe pattern (also referred to
  as the Observer pattern). It is often used in user interfaces when many
  entities are interested in a particular event. The Publish-Subscribe
  pattern decouples the publisher and subscriber and provides a generic
  interface for publishing and subscribing to events.

  This module is based on Class::Observable by Chris Winters. The main
  difference is that entities can subscribe to specific events raised by the
  publisher rather than receiving all notifications.

  Like Class::Observable, entities can subscribe to events raised by a
  publisher class or a publisher instance:

      My::Widget->add_subscriber('update', \&_on_widget_update);
      $widget->('update', sub {print STDERR "$widget raised update event"});


name: perl-Class-Rebirth
arch: noarch
version: 1.003
epoch: 0
release: 1.44
summary: Class::Rebirth.pm
url: http://search.cpan.org/dist/Class-Rebirth/
rpm_license: LGPL-2.1+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: cloud118
rpm_sourcerpm: perl-Class-Rebirth-1.003-1.44.src.rpm
location_href: noarch/perl-Class-Rebirth-1.003-1.44.noarch.rpm
checksum_type: sha512
pkgId:
  d281dcf085ddcdacee870a9abe4fbd0dd56c502124b2cd6f1b901e6387697eafff8274174ca5c6c105e63d4279d27a0d91e0eb1af602dd1a6e02709e6b03ace6

description:
  When a class is deserialized from saved dump it still holds the
  information, but the methods are not accessable anymore.

  So far a run with eval would do the rebirth, but that does only work if
  needed classes are required/ used. Here the Class::Rebirth also cares about
  requiring the needed classes nested in the potential object.

  A death class I call zombie (has nothing todo with processes), as they look
  like normal classes but have no living methods.


name: perl-Class-Rebirth
arch: src
version: 1.003
epoch: 0
release: 1.44
summary: Class::Rebirth.pm
url: http://search.cpan.org/dist/Class-Rebirth/
rpm_license: LGPL-2.1+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: cloud118
location_href: src/perl-Class-Rebirth-1.003-1.44.src.rpm
checksum_type: sha512
pkgId:
  f99a4b8f6d57b3192df78665c689d36be78c8a5254c10932f969417d14b3d8d637615637343d3a8138686a5a13d02b12443aba10b21b0d430ef6f79a1c0da56e

description:
  When a class is deserialized from saved dump it still holds the
  information, but the methods are not accessable anymore.

  So far a run with eval would do the rebirth, but that does only work if
  needed classes are required/ used. Here the Class::Rebirth also cares about
  requiring the needed classes nested in the potential object.

  A death class I call zombie (has nothing todo with processes), as they look
  like normal classes but have no living methods.


name: perl-Class-Rebless
arch: noarch
version: 0.10
epoch: 0
release: 9.31
summary: Rebase deep data structures
url: https://metacpan.org/release/Class-Rebless
rpm_license: MIT
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: beatles
rpm_sourcerpm: perl-Class-Rebless-0.10-9.31.src.rpm
location_href: noarch/perl-Class-Rebless-0.10-9.31.noarch.rpm
checksum_type: sha512
pkgId:
  5ac9fcc0779f93c8501ff4d77c50570c267c3400edffc073cae5b109bf5711e8de9458680e5e2f8218b2c4e30022cbc400f3a75070aa0325490bf27ce3a3b7ba

description:
  Class::Rebless takes a Perl data structure and recurses through its
  hierarchy, reblessing objects that it finds along the way into new
  namespaces. This is typically useful when your object belongs to a package
  that is too close to the main namespace for your tastes, and you want to
  rebless everything down to your project's base namespace.

  Class::Rebless walks scalar, array, and hash references. It uses
  Scalar::Util::reftype to discover how to walk blessed objects of any type.


name: perl-Class-Rebless
arch: src
version: 0.10
epoch: 0
release: 9.31
summary: Rebase deep data structures
url: https://metacpan.org/release/Class-Rebless
rpm_license: MIT
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: beatles
location_href: src/perl-Class-Rebless-0.10-9.31.src.rpm
checksum_type: sha512
pkgId:
  8d801fbf17ac42962414329e292b1b704f19e80b15265c06ec38d7ff774ec78249a75f28b239955d293c749d6c0ecc2a432571b2f0ab66cb7d58fabe0e226eeb

description:
  Class::Rebless takes a Perl data structure and recurses through its
  hierarchy, reblessing objects that it finds along the way into new
  namespaces. This is typically useful when your object belongs to a package
  that is too close to the main namespace for your tastes, and you want to
  rebless everything down to your project's base namespace.

  Class::Rebless walks scalar, array, and hash references. It uses
  Scalar::Util::reftype to discover how to walk blessed objects of any type.


name: perl-Class-Ref
arch: noarch
version: 0.06
epoch: 0
release: 1.44
summary: Automatic OO wrapping of container references
url: http://search.cpan.org/dist/Class-Ref/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat09
rpm_sourcerpm: perl-Class-Ref-0.06-1.44.src.rpm
location_href: noarch/perl-Class-Ref-0.06-1.44.noarch.rpm
checksum_type: sha512
pkgId:
  8aad4b7a1c1ee7cf911670bd2effce84a6ea487e2470cc0eb371dd3af2fdd1d46245e29c95c38d34d4aeb0d5ebcb74b12e04859fb48b3c55640fdf7a344420f6

description:
  Class::Ref provides an OO wrapping layer around Hash and Array references.
  Part of the magic is that it does this deeply and across array/hash
  boundaries.


name: perl-Class-Ref
arch: src
version: 0.06
epoch: 0
release: 1.44
summary: Automatic OO wrapping of container references
url: http://search.cpan.org/dist/Class-Ref/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat09
location_href: src/perl-Class-Ref-0.06-1.44.src.rpm
checksum_type: sha512
pkgId:
  b699dd773548676867fcdd70946d9d716a5e1d2d37b7a713c6c1cc05714d9f8a0ed85c18ea009dd8f628480548a22953afda139dbd90ff609d6c89a8c62c9afd

description:
  Class::Ref provides an OO wrapping layer around Hash and Array references.
  Part of the magic is that it does this deeply and across array/hash
  boundaries.


name: perl-Class-Refresh
arch: noarch
version: 0.07
epoch: 0
release: 6.34
summary: Refresh Your Classes During Runtime
url: http://search.cpan.org/dist/Class-Refresh/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep86
rpm_sourcerpm: perl-Class-Refresh-0.07-6.34.src.rpm
location_href: noarch/perl-Class-Refresh-0.07-6.34.noarch.rpm
checksum_type: sha512
pkgId:
  6aebb7ddedd4c54dd222a44fedded88351291e2637f61be7745cbd39dd221baf917c160f6f3aef8428f32ebba0cdd31687244d07992c97f9a5240152cd629e9e

description:
  During development, it is fairly common to cycle between writing code and
  testing that code. Generally the testing happens within the test suite, but
  frequently it is more convenient to test things by hand when tracking down
  a bug, or when doing some exploratory coding. In many situations, however,
  this becomes inconvenient - for instance, in a REPL, or in a stateful web
  application, restarting from the beginning after every code change can get
  pretty tedious. This module allows you to reload your application classes
  on the fly, so that the code/test cycle becomes a lot easier.

  This module takes a hash of import arguments, which can include:

  * track_require

    use Class::Refresh track_require => 1;

  If set, a 'require()' hook will be installed to track modules which are
  loaded. This will make the list of modules to reload when 'refresh' is
  called more accurate, but may cause issues with other modules which hook
  into 'require' (since the hook is global).

  This module has several limitations, due to reloading modules in this way
  being an inherently fragile operation. Therefore, this module is
  recommended for use only in development environments - it should not be
  used for reloading things in production.

  It makes several assumptions about how code is structured that simplify the
  logic involved quite a bit, and make it more reliable when those
  assumptions hold, but do make it inappropriate for use in certain cases.
  For instance, this module is named 'Class::Refresh' for a reason: it is
  only intended for refreshing classes, where each file contains a single
  namespace, and each namespace corresponds to a single file, and all
  function calls happen through method dispatch. Unlike Module::Refresh,
  which makes an effort to track the files where subs were defined, this
  module assumes that refreshing a class means wiping out everything in the
  class's namespace, and reloading the file corresponding to that class. If
  your code includes multiple files that all load things into a common
  namespace, or defines multiple classes in a single file, this will likely
  not work.


name: perl-Class-Refresh
arch: src
version: 0.07
epoch: 0
release: 6.34
summary: Refresh Your Classes During Runtime
url: http://search.cpan.org/dist/Class-Refresh/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep86
location_href: src/perl-Class-Refresh-0.07-6.34.src.rpm
checksum_type: sha512
pkgId:
  2f87fa13e05e3595285dc5baeb98def8ad3496eaf5741e25aa9e59a340018082b1896e853df710b499b77cceffecea16e23d97ec42b3e89c92243d58aeeca0aa

description:
  During development, it is fairly common to cycle between writing code and
  testing that code. Generally the testing happens within the test suite, but
  frequently it is more convenient to test things by hand when tracking down
  a bug, or when doing some exploratory coding. In many situations, however,
  this becomes inconvenient - for instance, in a REPL, or in a stateful web
  application, restarting from the beginning after every code change can get
  pretty tedious. This module allows you to reload your application classes
  on the fly, so that the code/test cycle becomes a lot easier.

  This module takes a hash of import arguments, which can include:

  * track_require

    use Class::Refresh track_require => 1;

  If set, a 'require()' hook will be installed to track modules which are
  loaded. This will make the list of modules to reload when 'refresh' is
  called more accurate, but may cause issues with other modules which hook
  into 'require' (since the hook is global).

  This module has several limitations, due to reloading modules in this way
  being an inherently fragile operation. Therefore, this module is
  recommended for use only in development environments - it should not be
  used for reloading things in production.

  It makes several assumptions about how code is structured that simplify the
  logic involved quite a bit, and make it more reliable when those
  assumptions hold, but do make it inappropriate for use in certain cases.
  For instance, this module is named 'Class::Refresh' for a reason: it is
  only intended for refreshing classes, where each file contains a single
  namespace, and each namespace corresponds to a single file, and all
  function calls happen through method dispatch. Unlike Module::Refresh,
  which makes an effort to track the files where subs were defined, this
  module assumes that refreshing a class means wiping out everything in the
  class's namespace, and reloading the file corresponding to that class. If
  your code includes multiple files that all load things into a common
  namespace, or defines multiple classes in a single file, this will likely
  not work.


name: perl-Class-ReturnValue
arch: noarch
version: 0.55
epoch: 0
release: 2.31
summary: Return-value object that lets you treat it
url: https://metacpan.org/release/Class-ReturnValue
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb07
rpm_sourcerpm: perl-Class-ReturnValue-0.55-2.31.src.rpm
location_href: noarch/perl-Class-ReturnValue-0.55-2.31.noarch.rpm
checksum_type: sha512
pkgId:
  ab3d4e64803c4c6c521a82a54f5a01a93ae8f8d75fa0606889f5292bb7c4406369b89091c12c6e52b8b2317a87d802b3ca02996f9a4f05800d44dcb3e4ce8a70

description:
  Class::ReturnValue is a "clever" return value object that can allow code
  calling your routine to expect: a boolean value (did it fail) or a list
  (what are the return values)


name: perl-Class-ReturnValue
arch: src
version: 0.55
epoch: 0
release: 2.31
summary: Return-value object that lets you treat it
url: https://metacpan.org/release/Class-ReturnValue
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb07
location_href: src/perl-Class-ReturnValue-0.55-2.31.src.rpm
checksum_type: sha512
pkgId:
  b916bb79209d50101acbdaff621847c16d9533cd2adbe95ac6cbf8e553d0568b920b25f1c1d0c6db895cd82cf04cb5286a9c8f9683dd6854428b807a019592a3

description:
  Class::ReturnValue is a "clever" return value object that can allow code
  calling your routine to expect: a boolean value (did it fail) or a list
  (what are the return values)


name: perl-Class-Role
arch: noarch
version: 0.04
epoch: 0
release: 1.52
summary: Support for the role object model
url: http://search.cpan.org/dist/Class-Role/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: stones
rpm_sourcerpm: perl-Class-Role-0.04-1.52.src.rpm
location_href: noarch/perl-Class-Role-0.04-1.52.noarch.rpm
checksum_type: sha512
pkgId:
  6ffd9a98be8ec3715368c53643578981c88d81212b76d548a557e9fbdbe779fbbf6da76314b42ad33f2df8d04093a5d1c08abef597efefcf859d556b04313a1f

description:
  'Class::Role' is an implementation of 'traits', as explained in this paper:

      http://www.cse.ogi.edu/~black/publications/TR_CSE_02-012.pdf

  It's an object model similar to mixins, except saner. The module gets its
  name from Larry's current name for a similar concept in Perl 6's object
  model. In Perl 6, traits are a different thing entirely, and I don't want
  to confuse anybody. ':-)'

  Inheritance is [was designed to be] used as a way to extend an object in
  its behavior, but it is often abused as a method of simple code reuse (in
  the form of stateless, abstract classes). Roles fit this latter, er, role
  better. A Role is a small, combinable piece of reusable code.

  Roles are stateless collections of methods that can be combined into a
  class (or another role). These methods may call methods of the combining
  object, not defined by the role itself. They are incorporated in as if they
  were written directly into the combining class.

  To define a role, create a package with the methods you want the role to
  provide, and 'use Class::Role', as in the SYNOPSIS.

  When creating a role, you may specify which methods you wish to export to
  the combining class with the '-methods' option. If the option is not given,
  all methods (except for 'import') are exported.

  To combine a role, either 'use Class::Role' with the name of the role as an
  argument, or just eg. 'use TwoLegs', if you have defined it in
  'TwoLegs.pm'. Methods defined in the combining class override methods in a
  combined role, however methods in the role override methods in any base
  classes.

  When combining a role, there are several options you can give:

  * '-excludes'

  Give a method or arrayref of methods to exclude from combining. This is the
  recommended way to deal with conflicts (see below).

  For instance,

      use Class::Role Farm, excludes => ['snowball'];

  * '-conflict'

  What to do if there's role conflict. One of the values:

    * ''die''

  Exit with an error message. This is the default.

    * ''exclude''

  Omit the offending method entirely. Usually this means you'll implement it
  yourself.

    * ''keep''

  "Keep" any existing role method defined; that is, use the first one.
  Methods in the combining class still override.

    * ''replace''

  Overwrite any existing role method defined; that is, use the last one.
  Methods in the combining class still override.

    * ''mixin''

  Synonym for ''replace''.

  It is recommended that you keep this the default.

  There is one small detail regarding methods behaving exactly as if they
  were written directly into the combining class: 'SUPER' doesn't work right.
  'SUPER' would instead look in any base classes of the _role_, not of the
  the combining class.

  To circumvent this, 'Class::Role' provides the pseudopackage 'PARENTCLASS',
  which works exactly like 'SUPER', except that it works correctly for (and
  _only_ for) roles. So, when you're writing a role, use 'PARENTCLASS'
  instead of 'SUPER'.

  *NOTE*: in the first release of this module, 'PARENTCLASS' was named
  'PARENT', but that was conflicting with the 'parent' module.


name: perl-Class-Role
arch: src
version: 0.04
epoch: 0
release: 1.52
summary: Support for the role object model
url: http://search.cpan.org/dist/Class-Role/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: stones
location_href: src/perl-Class-Role-0.04-1.52.src.rpm
checksum_type: sha512
pkgId:
  386e6bd02bc8140211e7c6e246ffde48df72693ef4865ac638f498ee2e417445abbd13b0051109ac5065e142de72d8c7c236d2d304b429ee15a5c2613558ed6b

description:
  'Class::Role' is an implementation of 'traits', as explained in this paper:

      http://www.cse.ogi.edu/~black/publications/TR_CSE_02-012.pdf

  It's an object model similar to mixins, except saner. The module gets its
  name from Larry's current name for a similar concept in Perl 6's object
  model. In Perl 6, traits are a different thing entirely, and I don't want
  to confuse anybody. ':-)'

  Inheritance is [was designed to be] used as a way to extend an object in
  its behavior, but it is often abused as a method of simple code reuse (in
  the form of stateless, abstract classes). Roles fit this latter, er, role
  better. A Role is a small, combinable piece of reusable code.

  Roles are stateless collections of methods that can be combined into a
  class (or another role). These methods may call methods of the combining
  object, not defined by the role itself. They are incorporated in as if they
  were written directly into the combining class.

  To define a role, create a package with the methods you want the role to
  provide, and 'use Class::Role', as in the SYNOPSIS.

  When creating a role, you may specify which methods you wish to export to
  the combining class with the '-methods' option. If the option is not given,
  all methods (except for 'import') are exported.

  To combine a role, either 'use Class::Role' with the name of the role as an
  argument, or just eg. 'use TwoLegs', if you have defined it in
  'TwoLegs.pm'. Methods defined in the combining class override methods in a
  combined role, however methods in the role override methods in any base
  classes.

  When combining a role, there are several options you can give:

  * '-excludes'

  Give a method or arrayref of methods to exclude from combining. This is the
  recommended way to deal with conflicts (see below).

  For instance,

      use Class::Role Farm, excludes => ['snowball'];

  * '-conflict'

  What to do if there's role conflict. One of the values:

    * ''die''

  Exit with an error message. This is the default.

    * ''exclude''

  Omit the offending method entirely. Usually this means you'll implement it
  yourself.

    * ''keep''

  "Keep" any existing role method defined; that is, use the first one.
  Methods in the combining class still override.

    * ''replace''

  Overwrite any existing role method defined; that is, use the last one.
  Methods in the combining class still override.

    * ''mixin''

  Synonym for ''replace''.

  It is recommended that you keep this the default.

  There is one small detail regarding methods behaving exactly as if they
  were written directly into the combining class: 'SUPER' doesn't work right.
  'SUPER' would instead look in any base classes of the _role_, not of the
  the combining class.

  To circumvent this, 'Class::Role' provides the pseudopackage 'PARENTCLASS',
  which works exactly like 'SUPER', except that it works correctly for (and
  _only_ for) roles. So, when you're writing a role, use 'PARENTCLASS'
  instead of 'SUPER'.

  *NOTE*: in the first release of this module, 'PARENTCLASS' was named
  'PARENT', but that was conflicting with the 'parent' module.


name: perl-Class-Roles
arch: noarch
version: 0.30
epoch: 0
release: 1.49
summary: Use Perl 6 Roles in Perl 5
url: http://search.cpan.org/dist/Class-Roles/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb54
rpm_sourcerpm: perl-Class-Roles-0.30-1.49.src.rpm
location_href: noarch/perl-Class-Roles-0.30-1.49.noarch.rpm
checksum_type: sha512
pkgId:
  c694a1de32526073b09d44e640622cb1207d2fb25cf3caf548d800a3498ee64fb5ea983fab6ff37021a84046b16abdc32b1a79ea9ab8f39588fc2850aad50951

description:
  Class::Roles provides a Perl 5 implementation of Perl 6 roles.

  Roles are named collections of reusable behavior. They provide a mechanism
  to mark that a class performs certain behaviors and to reuse the code that
  performs those behaviors.

  Polymorphism is a fundamental feature of object orientation. It's important
  that behaviors that are similar in a semantic sense but different in
  specific details can be abstracted behind the same name. A dog may sleep by
  turning in circles three times then lying down while a cat may sprawl out
  across the nearest human lap. Both sleep, however.

  Allomorphism -- polymorphic equivalence -- is a lesser-known feature. This
  suggests that objects with compatible behavior should be able to be treated
  interchangeably. A 'Dog' and a 'Lifeguard' may both understand the
  'rescue_drowning_swimmer' message, not because they share a common ancestor
  class but because they share a role.


name: perl-Class-Roles
arch: src
version: 0.30
epoch: 0
release: 1.49
summary: Use Perl 6 Roles in Perl 5
url: http://search.cpan.org/dist/Class-Roles/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb54
location_href: src/perl-Class-Roles-0.30-1.49.src.rpm
checksum_type: sha512
pkgId:
  6c84e124c921a137077a269a61ecdd0e6a85605aaa6378980a2f13ad8addff4010f1bc25ce6546378756d68720ad94cb9be57e245739dfabf4f47822d626905b

description:
  Class::Roles provides a Perl 5 implementation of Perl 6 roles.

  Roles are named collections of reusable behavior. They provide a mechanism
  to mark that a class performs certain behaviors and to reuse the code that
  performs those behaviors.

  Polymorphism is a fundamental feature of object orientation. It's important
  that behaviors that are similar in a semantic sense but different in
  specific details can be abstracted behind the same name. A dog may sleep by
  turning in circles three times then lying down while a cat may sprawl out
  across the nearest human lap. Both sleep, however.

  Allomorphism -- polymorphic equivalence -- is a lesser-known feature. This
  suggests that objects with compatible behavior should be able to be treated
  interchangeably. A 'Dog' and a 'Lifeguard' may both understand the
  'rescue_drowning_swimmer' message, not because they share a common ancestor
  class but because they share a role.


name: perl-Class-Root
arch: noarch
version: 0.02
epoch: 0
release: 8.55
summary: Framework for Writing Perl Oo Modules
url: http://search.cpan.org/dist/Class-Root/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb54
rpm_sourcerpm: perl-Class-Root-0.02-8.55.src.rpm
location_href: noarch/perl-Class-Root-0.02-8.55.noarch.rpm
checksum_type: sha512
pkgId:
  045f160199ace0232fe7cd97d80a839cdda54a5d4d42b96beacf515d238fea5434088cf36f860f94a00cd4cfc7c2106a69df09b1d8d02b2fad8b28ec2fd8480b

description:
  We start writing code for class based on _Class::Root_ with something like
  this:

      1: package MyClass::Foo;
      2: use Class::Root "isa";
      3: package MyClass::Foo::LOCAL;

  Line 1: is usual, here we define a name of our class.

  Line 2: compiles _Class::Root_ and invokes Class::Root's _import_ method
  with argument "isa". With "isa" argument found, method _import_ adds
  Class::Root to @MyClass::FOO::ISA array and imports some functions into
  MyClass::Foo:LOCAL package.


name: perl-Class-Root
arch: src
version: 0.02
epoch: 0
release: 8.55
summary: Framework for Writing Perl Oo Modules
url: http://search.cpan.org/dist/Class-Root/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb54
location_href: src/perl-Class-Root-0.02-8.55.src.rpm
checksum_type: sha512
pkgId:
  53d7ca50f5a44f1456f9d3306d628c40a06fa31d1e755f61f6925ad785b7d2355900638d0d8571bc80d2c4717c8bb1c91e96bf38f981b272ea26da07f4eac049

description:
  We start writing code for class based on _Class::Root_ with something like
  this:

      1: package MyClass::Foo;
      2: use Class::Root "isa";
      3: package MyClass::Foo::LOCAL;

  Line 1: is usual, here we define a name of our class.

  Line 2: compiles _Class::Root_ and invokes Class::Root's _import_ method
  with argument "isa". With "isa" argument found, method _import_ adds
  Class::Root to @MyClass::FOO::ISA array and imports some functions into
  MyClass::Foo:LOCAL package.


name: perl-Class-Runtime
arch: noarch
version: 0.2
epoch: 0
release: 8.56
summary: API for dynamic class loading/unloading/status
url: http://search.cpan.org/dist/Class-Runtime/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb06
rpm_sourcerpm: perl-Class-Runtime-0.2-8.56.src.rpm
location_href: noarch/perl-Class-Runtime-0.2-8.56.noarch.rpm
checksum_type: sha512
pkgId:
  4c9eb76eaa70edf93ede2c6cd82b44205ff422bccadfcbbff4452e81ed58a6e0555e8b6e4f8e6bf6c73459f7668da8d228ae68028d5e6481cf5cd9743eecc713

description:
  Class for dynamically loading/unloading/stat on modules. Currently it is
  designed for loading a class local to the system at runtime. Future
  versions may include loading in a distributed environment.

  A specific search path can be associated with the object which will be
  'unshifted' onto @INC before attempting to load the class and 'shifted' off
  after attempting to load.

  Also, a class can be checked whether it is loaded or not in the process.


name: perl-Class-Runtime
arch: src
version: 0.2
epoch: 0
release: 8.56
summary: API for dynamic class loading/unloading/status
url: http://search.cpan.org/dist/Class-Runtime/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb06
location_href: src/perl-Class-Runtime-0.2-8.56.src.rpm
checksum_type: sha512
pkgId:
  b4f98c21f86b9a2711749d4e89b935d6e0ba3182c24b7440dba9ea23f73c906979f3c94829e8ba1cdf5c462f21cd00b2b73daa27e1f2a099378ad597385ba887

description:
  Class for dynamically loading/unloading/stat on modules. Currently it is
  designed for loading a class local to the system at runtime. Future
  versions may include loading in a distributed environment.

  A specific search path can be associated with the object which will be
  'unshifted' onto @INC before attempting to load the class and 'shifted' off
  after attempting to load.

  Also, a class can be checked whether it is loaded or not in the process.


name: perl-Class-STAF
arch: noarch
version: 0.03
epoch: 0
release: 8.50
summary: Simplify version for the Perl STAF API
url: http://search.cpan.org/dist/Class-STAF/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb23
rpm_sourcerpm: perl-Class-STAF-0.03-8.50.src.rpm
location_href: noarch/perl-Class-STAF-0.03-8.50.noarch.rpm
checksum_type: sha512
pkgId:
  ac45f5bb73fc718029ea96da5e06b8e82952188225be9630fc99e54469b3a624630a06249647fda2e2151336cd23c70957f54ad0dedda99d066efd730ce54f91

description:
  This module is an alternative API for STAF - More Perlish.

  For more info about STAF: http://staf.sourceforge.net/

  Instead of checking for every request that the return code is zero, and
  only then proceed, this API return the answer immidiatly. Only if the
  return code is not zero, the submit will return undef. Then the return code
  is saved in $!, and the error message can be retrived using
  $handle->LastError command.

  Also export by default the Marshall and UnMarshall functions from
  Class::STAF::Marshalled, and will export by request the get_staf_fields and
  get_staf_class_name.


name: perl-Class-STAF
arch: src
version: 0.03
epoch: 0
release: 8.50
summary: Simplify version for the Perl STAF API
url: http://search.cpan.org/dist/Class-STAF/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb23
location_href: src/perl-Class-STAF-0.03-8.50.src.rpm
checksum_type: sha512
pkgId:
  91f1fd800249ba1c8a4562cfd8dd95aaa57c85e606f284af9aa358c93b709c9f268125e208ad16c0f3838fb338c994acb7ff116a7d6e81926a87cf82525eba4f

description:
  This module is an alternative API for STAF - More Perlish.

  For more info about STAF: http://staf.sourceforge.net/

  Instead of checking for every request that the return code is zero, and
  only then proceed, this API return the answer immidiatly. Only if the
  return code is not zero, the submit will return undef. Then the return code
  is saved in $!, and the error message can be retrived using
  $handle->LastError command.

  Also export by default the Marshall and UnMarshall functions from
  Class::STAF::Marshalled, and will export by request the get_staf_fields and
  get_staf_class_name.


name: perl-Class-STL-Containers
arch: noarch
version: 0.37
epoch: 0
release: 1.1
summary: Perl extension for STL-like object management
description: Perl extension for STL-like object management
url: http://search.cpan.org/dist/Class-STL-Containers/
rpm_license: CHECK(GPL-1.0-or-later OR Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: wildcard2
rpm_sourcerpm: perl-Class-STL-Containers-0.37-1.1.src.rpm
location_href: noarch/perl-Class-STL-Containers-0.37-1.1.noarch.rpm
checksum_type: sha512
pkgId:
  d38c45e888cef265b0ee3831de092247b7bfde304c1aef8eb6a2e68f8c6f65908976857ea2e007562d1680326542b7e25996b28d7be696db7f0ee09ba836a32d


name: perl-Class-STL-Containers
arch: src
version: 0.37
epoch: 0
release: 1.1
summary: Perl extension for STL-like object management
description: Perl extension for STL-like object management
url: http://search.cpan.org/dist/Class-STL-Containers/
rpm_license: CHECK(GPL-1.0-or-later OR Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: wildcard2
location_href: src/perl-Class-STL-Containers-0.37-1.1.src.rpm
checksum_type: sha512
pkgId:
  2825c242b9856b7969a698a731b0e4303990da4db573548f4af0933c73280263ea2a67037d218cf90f4e6104dd79a1229ebeb6856079e366e21344bac53bf065


name: perl-Class-SelfMethods
arch: noarch
version: 1.08
epoch: 0
release: 8.60
summary: Module for supporting instance-defined methods
url: http://search.cpan.org/dist/Class-SelfMethods/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat05
rpm_sourcerpm: perl-Class-SelfMethods-1.08-8.60.src.rpm
location_href: noarch/perl-Class-SelfMethods-1.08-8.60.noarch.rpm
checksum_type: sha512
pkgId:
  cdd74565ad715c5d13daebfe5e5459ccf8ad8837400b870d03004bb629064550df63d08c586e432aa20a90663e33ca48a4e4dcff901e2eb8e538553b83f44b42

description:
  Development of this module has largely lapsed due to the superior
  performance and feature set of 'Class::Prototyped'. If you haven't written
  code that depends upon 'Class::SelfMethods', I strongly urge you to look at
  'Class::Prototyped' first.

  'Class::SelfMethods' merges some features of other Object Oriented
  languages to build a system for implementing more flexible objects than is
  provided by default in Perl.

  The core features I was looking for when I wrote 'Class::SelfMethods' were:

  * Class-based inheritance hierarchy

  I wanted to retain Perl's normal class-based inheritance hierarchy rather
  than to write (or use) a completely prototype based system. If you are
  looking for a purely prototype based system, see Sean M. Burke's
  'Class::Classless'. My reasoning on this is that it is easier in file based
  languages (as opposed to world based languages like Self) to code class
  based inheritance hierarchies (which are largely static) than to code
  object based inheritance hierarchies (since objects in such languages have
  a dynamicism that is not granted to classes).

  * Instance-defined method overriding

  I wanted instances to be able to override their class-defined methods. In
  the example above, the '$bas' object has its own 'friendly' method.
  Instance-defined methods are passed the exact same parameter list as
  class-defined methods.

  * Subroutine/Attribute equivalence

  Borrowing from Self, I wanted to be able to treat methods and attributes
  similarly. For instance, in the above example the '$bar' object has an
  attribute 'friendly', whereas the '$bas' object has a method 'friendly',
  and the '$foo' object uses the class-defined method. The calling syntax is
  independent of the implementation. Parameters can even be passed in the
  method call and they will simply be ignored if the method is implemented by
  a simple attribute

  In addition to those core features, I (and Damian) had a wish list of
  additional features:

  * Simple syntax

  I wanted the system to be reasonable easy to use for both implementers of
  classes and users of objects. Simple syntax for users is more important
  than simple syntax for implementers.

  * Full support for 'SUPER' type concepts

  I wanted instance-defined methods to be able to call the class-defined
  methods they replace.

  * Support for calling methods at instantiation time

  In some circumstances, rather than deal with multiple inheritance it is
  easier to have a class-defined object method that sets up the various
  instance-defined methods for a given object. To support this, the 'new'
  method allows deferred method calls to be passed in as parameters.

  * Modifying objects post-instantiation

  I originally had no need for modifying objects post-instantiation, but
  Damian Conway thought it would be a Good Thing (TM) to support. Being so
  very good at these sorts of thing, he instantly came up with a good general
  syntax to support such. Method calls that end in a '_SET' result in the
  first parameter being assigned to the attribute/method. I noticed one
  remaining hole and added support for '_CLEAR'.


name: perl-Class-SelfMethods
arch: src
version: 1.08
epoch: 0
release: 8.60
summary: Module for supporting instance-defined methods
url: http://search.cpan.org/dist/Class-SelfMethods/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat05
location_href: src/perl-Class-SelfMethods-1.08-8.60.src.rpm
checksum_type: sha512
pkgId:
  394339deb81b67c4742b0a98631cf4e06094fde667851d5931e1ee032b80ce568ddd35e864eb2b0d4119a463f47238b73b06de25f2fcd7564271413a122018a9

description:
  Development of this module has largely lapsed due to the superior
  performance and feature set of 'Class::Prototyped'. If you haven't written
  code that depends upon 'Class::SelfMethods', I strongly urge you to look at
  'Class::Prototyped' first.

  'Class::SelfMethods' merges some features of other Object Oriented
  languages to build a system for implementing more flexible objects than is
  provided by default in Perl.

  The core features I was looking for when I wrote 'Class::SelfMethods' were:

  * Class-based inheritance hierarchy

  I wanted to retain Perl's normal class-based inheritance hierarchy rather
  than to write (or use) a completely prototype based system. If you are
  looking for a purely prototype based system, see Sean M. Burke's
  'Class::Classless'. My reasoning on this is that it is easier in file based
  languages (as opposed to world based languages like Self) to code class
  based inheritance hierarchies (which are largely static) than to code
  object based inheritance hierarchies (since objects in such languages have
  a dynamicism that is not granted to classes).

  * Instance-defined method overriding

  I wanted instances to be able to override their class-defined methods. In
  the example above, the '$bas' object has its own 'friendly' method.
  Instance-defined methods are passed the exact same parameter list as
  class-defined methods.

  * Subroutine/Attribute equivalence

  Borrowing from Self, I wanted to be able to treat methods and attributes
  similarly. For instance, in the above example the '$bar' object has an
  attribute 'friendly', whereas the '$bas' object has a method 'friendly',
  and the '$foo' object uses the class-defined method. The calling syntax is
  independent of the implementation. Parameters can even be passed in the
  method call and they will simply be ignored if the method is implemented by
  a simple attribute

  In addition to those core features, I (and Damian) had a wish list of
  additional features:

  * Simple syntax

  I wanted the system to be reasonable easy to use for both implementers of
  classes and users of objects. Simple syntax for users is more important
  than simple syntax for implementers.

  * Full support for 'SUPER' type concepts

  I wanted instance-defined methods to be able to call the class-defined
  methods they replace.

  * Support for calling methods at instantiation time

  In some circumstances, rather than deal with multiple inheritance it is
  easier to have a class-defined object method that sets up the various
  instance-defined methods for a given object. To support this, the 'new'
  method allows deferred method calls to be passed in as parameters.

  * Modifying objects post-instantiation

  I originally had no need for modifying objects post-instantiation, but
  Damian Conway thought it would be a Good Thing (TM) to support. Being so
  very good at these sorts of thing, he instantly came up with a good general
  syntax to support such. Method calls that end in a '_SET' result in the
  first parameter being assigned to the attribute/method. I noticed one
  remaining hole and added support for '_CLEAR'.


name: perl-Class-Serializer
arch: noarch
version: 0.04
epoch: 0
release: 2.51
summary: Serializes the in-memory state of a class into code
description: Serializes the in-memory state of a class into code
url: http://search.cpan.org/dist/Class-Serializer/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep88
rpm_sourcerpm: perl-Class-Serializer-0.04-2.51.src.rpm
location_href: noarch/perl-Class-Serializer-0.04-2.51.noarch.rpm
checksum_type: sha512
pkgId:
  1e92e245907278e90faa4202b6c392a579eafa08fe72995fc089d0d5ab87e1296797669881f95ac03988d1923e3dfb2bfc9e1c4a5522cad451c56b07f17ffb19


name: perl-Class-Serializer
arch: src
version: 0.04
epoch: 0
release: 2.51
summary: Serializes the in-memory state of a class into code
description: Serializes the in-memory state of a class into code
url: http://search.cpan.org/dist/Class-Serializer/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep88
location_href: src/perl-Class-Serializer-0.04-2.51.src.rpm
checksum_type: sha512
pkgId:
  33ea1cb83e62d3f94ba878f2ca1f84926f92b55ce3e5943601f392c73476701f11bf3098e30c21b44cdce0bff87a6ea532b6d1f1dfe0d54fd8e8f50bc2af0ad2


name: perl-Class-Simple
arch: noarch
version: 1.1
epoch: 0
release: 1.31
summary: Simple Object-Oriented Base Class
url: https://metacpan.org/release/Class-Simple
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus1
rpm_sourcerpm: perl-Class-Simple-1.1-1.31.src.rpm
location_href: noarch/perl-Class-Simple-1.1-1.31.noarch.rpm
checksum_type: sha512
pkgId:
  a003adbfd3278b9bf26b5ce0de896a2034cc11ef8749ff885f0611b009589068181119148a3bab16a1798a5415e0a330f1a4e851d3239842299c48abb5a80998

description:
  This is a simple object-oriented base class. There are plenty of others
  that are much more thorough and whatnot but sometimes I want something
  simple so I can get just going (no doubt because I am a simple guy) so I
  use this.

  What do I mean by simple? First off, I don't want to have to list out all
  my methods beforehand. I just want to use them (Yeah, yeah, it doesn't
  catch typos...well, by default--see *ATTRIBUTES()* below). Next, I want to
  be able to call my methods by $obj->foo(1) or $obj->set_foo(1), by
  $obj->foo() or $obj->get_foo(). Don't tell ME I have to use get_ and set_
  (I would just override that restriction in Class::Std anyway). Simple!

  I did want some neat features, though, so these are inside-out objects
  (meaning the object isn't simply a hash so you can't just go in and muck
  with attributtes outside of methods), privatization of methods is
  supported, as is serialization out and back in again.

  It's important to note, though, that one does not have to use the extra
  features to use *Class::Simple*. All you need to get going is:

  	package MyPackage;
  	use base qw(Class::Simple);

  And that's it. To use it?:

  	use MyPackage;

  	my $obj = MyPackage->new();
  	$obj->set_attr($value);

  Heck, you don't even need that much:

  	use Class::Simple;

  	my $obj = Class::Simple->new();
  	$obj->set_attr($value);

  Why would you want to use a (not quite) anonymous object? Well, you can use
  it to simulate the interface of a class to do some testing and debugging.


name: perl-Class-Simple
arch: src
version: 1.1
epoch: 0
release: 1.31
summary: Simple Object-Oriented Base Class
url: https://metacpan.org/release/Class-Simple
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus1
location_href: src/perl-Class-Simple-1.1-1.31.src.rpm
checksum_type: sha512
pkgId:
  e0b57fa11c1a216fcde7851830a5139db110badfa63951b513261b1d3b8b93354bf8951f5e0a5fbb861e39949c1402da71ba0a419ee12b8e490d6f8654a15ea2

description:
  This is a simple object-oriented base class. There are plenty of others
  that are much more thorough and whatnot but sometimes I want something
  simple so I can get just going (no doubt because I am a simple guy) so I
  use this.

  What do I mean by simple? First off, I don't want to have to list out all
  my methods beforehand. I just want to use them (Yeah, yeah, it doesn't
  catch typos...well, by default--see *ATTRIBUTES()* below). Next, I want to
  be able to call my methods by $obj->foo(1) or $obj->set_foo(1), by
  $obj->foo() or $obj->get_foo(). Don't tell ME I have to use get_ and set_
  (I would just override that restriction in Class::Std anyway). Simple!

  I did want some neat features, though, so these are inside-out objects
  (meaning the object isn't simply a hash so you can't just go in and muck
  with attributtes outside of methods), privatization of methods is
  supported, as is serialization out and back in again.

  It's important to note, though, that one does not have to use the extra
  features to use *Class::Simple*. All you need to get going is:

  	package MyPackage;
  	use base qw(Class::Simple);

  And that's it. To use it?:

  	use MyPackage;

  	my $obj = MyPackage->new();
  	$obj->set_attr($value);

  Heck, you don't even need that much:

  	use Class::Simple;

  	my $obj = Class::Simple->new();
  	$obj->set_attr($value);

  Why would you want to use a (not quite) anonymous object? Well, you can use
  it to simulate the interface of a class to do some testing and debugging.


name: perl-Class-Singleton
arch: noarch
version: 1.6
epoch: 0
release: 1.36
summary: Implementation of a "Singleton" class
url: https://metacpan.org/release/Class-Singleton
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat05
rpm_sourcerpm: perl-Class-Singleton-1.6-1.36.src.rpm
location_href: noarch/perl-Class-Singleton-1.6-1.36.noarch.rpm
checksum_type: sha512
pkgId:
  92f62322cbdcaf71e94229f07ade01222eb05c9cacbfdfb6a517da75d4d602b2bae2179f98e98cc5b132c6a57ea275410e5f983fe8bab206ac0a95cf8297fea6

description:
  This is the 'Class::Singleton' module. A Singleton describes an object
  class that can have only one instance in any system. An example of a
  Singleton might be a print spooler or system registry. This module
  implements a Singleton class from which other classes can be derived. By
  itself, the 'Class::Singleton' module does very little other than manage
  the instantiation of a single object. In deriving a class from
  'Class::Singleton', your module will inherit the Singleton instantiation
  method and can implement whatever specific functionality is required.

  For a description and discussion of the Singleton class, see "Design
  Patterns", Gamma et al, Addison-Wesley, 1995, ISBN 0-201-63361-2.


name: perl-Class-Singleton
arch: src
version: 1.6
epoch: 0
release: 1.36
summary: Implementation of a "Singleton" class
url: https://metacpan.org/release/Class-Singleton
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat05
location_href: src/perl-Class-Singleton-1.6-1.36.src.rpm
checksum_type: sha512
pkgId:
  0e304251335ea5cfa0c88b62767b2f2d1f74bdc9af41256b396709d86e1c5b4bebe4a384951ee2757f2757bd1857290b1437b95d46eb02d5e4c4886fd3a362f5

description:
  This is the 'Class::Singleton' module. A Singleton describes an object
  class that can have only one instance in any system. An example of a
  Singleton might be a print spooler or system registry. This module
  implements a Singleton class from which other classes can be derived. By
  itself, the 'Class::Singleton' module does very little other than manage
  the instantiation of a single object. In deriving a class from
  'Class::Singleton', your module will inherit the Singleton instantiation
  method and can implement whatever specific functionality is required.

  For a description and discussion of the Singleton class, see "Design
  Patterns", Gamma et al, Addison-Wesley, 1995, ISBN 0-201-63361-2.


name: perl-Class-SingletonMethod
arch: noarch
version: 1.0
epoch: 0
release: 8.59
summary: Extend individual objects with additional methods
url: http://search.cpan.org/dist/Class-SingletonMethod/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat11
rpm_sourcerpm: perl-Class-SingletonMethod-1.0-8.59.src.rpm
location_href: noarch/perl-Class-SingletonMethod-1.0-8.59.noarch.rpm
checksum_type: sha512
pkgId:
  3d15d40051914ed8fcb795ea849c90676d3ceaf1dd14df37f497200e3e7897f8d3d1ad2fa957946037405ac8b67c0a38d84de13b91481e835c9d305e8af7ac9e

description:
  This module provides a Perl implementation of singleton methods. The Ruby
  FAQ defines singleton methods like so:

      (Q)     What is a singleton method?

      (A)     A singleton method is defined for the particular object but
              in the class. A singleton method allows appending or
              changing methods without making subclasses.

              msg = "Hello"
              def msg.print
                $>.print self, "\n"
              end
              msg.print   #=> Hello

  That is, you can add or override methods on a per-object basis.


name: perl-Class-SingletonMethod
arch: src
version: 1.0
epoch: 0
release: 8.59
summary: Extend individual objects with additional methods
url: http://search.cpan.org/dist/Class-SingletonMethod/
rpm_license: CHECK(GPL-1.0+ or Artistic-1.0)
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat11
location_href: src/perl-Class-SingletonMethod-1.0-8.59.src.rpm
checksum_type: sha512
pkgId:
  25996cb955f9b8b0ca575761138faa888c2749868994c20f879bf6d7026ed3d10254fa80b26b006f9777e6a63005391062ea301db254e1ef53100e4c7333458d

description:
  This module provides a Perl implementation of singleton methods. The Ruby
  FAQ defines singleton methods like so:

      (Q)     What is a singleton method?

      (A)     A singleton method is defined for the particular object but
              in the class. A singleton method allows appending or
              changing methods without making subclasses.

              msg = "Hello"
              def msg.print
                $>.print self, "\n"
              end
              msg.print   #=> Hello

  That is, you can add or override methods on a per-object basis.


name: perl-Class-SingletonProxy
arch: noarch
version: 0.01
epoch: 0
release: 8.58
summary: Proxy Class Methods to a Singleton
description:
  classes derived from Class::SingletonProxy redirect class methods to (per
  class) singleton objects.

url: http://search.cpan.org/dist/Class-SingletonProxy/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat09
rpm_sourcerpm: perl-Class-SingletonProxy-0.01-8.58.src.rpm
location_href: noarch/perl-Class-SingletonProxy-0.01-8.58.noarch.rpm
checksum_type: sha512
pkgId:
  7c3517421df958bbea8ee7c9a0ea23c2311912c54f9b1555c0b310de385c9bd3875017484fe3547682fb5389846ebffa92ab7d31b0afc5e377ac8c1767732b22


name: perl-Class-SingletonProxy
arch: src
version: 0.01
epoch: 0
release: 8.58
summary: Proxy Class Methods to a Singleton
description:
  classes derived from Class::SingletonProxy redirect class methods to (per
  class) singleton objects.

url: http://search.cpan.org/dist/Class-SingletonProxy/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat09
location_href: src/perl-Class-SingletonProxy-0.01-8.58.src.rpm
checksum_type: sha512
pkgId:
  73b8a437629c287b7e0e3143f4cffc9f745e7a255bbf32bd9a96d3fa79f6e356c5a1cd6abbe6811e4a77249474645b2adb3db3c8846590eb4edca3f6d067cf09


name: perl-Class-Slot
arch: noarch
version: 0.09
epoch: 0
release: 1.35
summary: Simple, efficient, comple-time class declaration
url: https://metacpan.org/release/Class-Slot
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: hci-cnode1-e5
rpm_sourcerpm: perl-Class-Slot-0.09-1.35.src.rpm
location_href: noarch/perl-Class-Slot-0.09-1.35.noarch.rpm
checksum_type: sha512
pkgId:
  9c0c29012f6ceb877cc87aaeefbe5593c320be8af19a976ae4ab4a73024203c9fce5741a8836695e653cb7bbcd906996cbb91ec90d4e9562acf31992c54b725a

description:
  Similar to the fields pragma, 'slot' declares individual fields in a class,
  building a constructor and slot accessor methods.

  Although not nearly as full-featured as other solutions, 'Class::Slot' is
  light-weight, fast, works with basic Perl objects, and imposes no
  dependencies outside of the Perl core distribution. Currently, only the
  unit tests require non-core packages.

  'Class::Slot' is intended for use with Perl's bare metal objects. It
  provides a simple mechanism for building accessor and constructor code at
  compile time.

  It does _not_ provide inheritance; that is done by setting '@ISA' or via
  the 'base' or 'parent' pragmas.

  It does _not_ provide method wrappers; that is done with the 'SUPER'
  pseudo-class.

  It _does_ build a constructor method, 'new', with support for default and
  required slots as keyword arguments and type validation of caller-supplied
  values.

  It _does_ build accesor methods (reader or combined reader/writer, using
  the slot's name) for each slot declared, with support for type validation.


name: perl-Class-Slot
arch: src
version: 0.09
epoch: 0
release: 1.35
summary: Simple, efficient, comple-time class declaration
url: https://metacpan.org/release/Class-Slot
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: hci-cnode1-e5
location_href: src/perl-Class-Slot-0.09-1.35.src.rpm
checksum_type: sha512
pkgId:
  eb61a29ea90fe7f2e71ce12397f10ee37d1fb70831c0063cbd58c6b872302d331e843d1aac1cba85df9a687307a52b027b72240b31bb75da9e76cb3cdb96d9cd

description:
  Similar to the fields pragma, 'slot' declares individual fields in a class,
  building a constructor and slot accessor methods.

  Although not nearly as full-featured as other solutions, 'Class::Slot' is
  light-weight, fast, works with basic Perl objects, and imposes no
  dependencies outside of the Perl core distribution. Currently, only the
  unit tests require non-core packages.

  'Class::Slot' is intended for use with Perl's bare metal objects. It
  provides a simple mechanism for building accessor and constructor code at
  compile time.

  It does _not_ provide inheritance; that is done by setting '@ISA' or via
  the 'base' or 'parent' pragmas.

  It does _not_ provide method wrappers; that is done with the 'SUPER'
  pseudo-class.

  It _does_ build a constructor method, 'new', with support for default and
  required slots as keyword arguments and type validation of caller-supplied
  values.

  It _does_ build accesor methods (reader or combined reader/writer, using
  the slot's name) for each slot declared, with support for type validation.


name: perl-Class-Sniff
arch: noarch
version: 0.10
epoch: 0
release: 6.57
summary: Look for class composition code smells
url: http://search.cpan.org/dist/Class-Sniff/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb28
rpm_sourcerpm: perl-Class-Sniff-0.10-6.57.src.rpm
location_href: noarch/perl-Class-Sniff-0.10-6.57.noarch.rpm
checksum_type: sha512
pkgId:
  94733b1a68e801e6dd7c5249e1bd89ec3b1d55bd15980768a262dec7384a516a4951130735320b97c578ef5b40c3371cc2269038e01c326cf582cde32aa6f305

description:
  *ALPHA* code. You've been warned.

  The interface is rather ad-hoc at the moment and is likely to change. After
  creating a new instance, calling the 'report' method is your best option.
  You can then visually examine it to look for potential problems:

   my $sniff = Class::Sniff->new({class => 'Some::Class'});
   print $sniff->report;

  This module attempts to help programmers find 'code smells' in the
  object-oriented code. If it reports something, it does not mean that your
  code is wrong. It just means that you might want to look at your code a
  little bit more closely to see if you have any problems.

  At the present time, we assume Perl's default left-most, depth-first search
  order. We may alter this in the future (and there's a work-around with the
  'paths' method. More on this later).


name: perl-Class-Sniff
arch: src
version: 0.10
epoch: 0
release: 6.57
summary: Look for class composition code smells
url: http://search.cpan.org/dist/Class-Sniff/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb28
location_href: src/perl-Class-Sniff-0.10-6.57.src.rpm
checksum_type: sha512
pkgId:
  c7208dc30a51986ef3ed7620fcc6860c94b3bd93e837d6e99fe1bae9dc0a028a5c7aaeba748559b94b5083f1a244abab46681ff6cbfe38261aa52fa21f102897

description:
  *ALPHA* code. You've been warned.

  The interface is rather ad-hoc at the moment and is likely to change. After
  creating a new instance, calling the 'report' method is your best option.
  You can then visually examine it to look for potential problems:

   my $sniff = Class::Sniff->new({class => 'Some::Class'});
   print $sniff->report;

  This module attempts to help programmers find 'code smells' in the
  object-oriented code. If it reports something, it does not mean that your
  code is wrong. It just means that you might want to look at your code a
  little bit more closely to see if you have any problems.

  At the present time, we assume Perl's default left-most, depth-first search
  order. We may alter this in the future (and there's a work-around with the
  'paths' method. More on this later).


name: perl-Class-Spiffy
arch: noarch
version: 0.15
epoch: 0
release: 2.35
summary: Spiffy Framework with No Source Filtering
url: https://metacpan.org/release/Class-Spiffy
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat19
rpm_sourcerpm: perl-Class-Spiffy-0.15-2.35.src.rpm
location_href: noarch/perl-Class-Spiffy-0.15-2.35.noarch.rpm
checksum_type: sha512
pkgId:
  d01f661ea08579446ae6af246c5824775f6723da01e7f63304d4273ccd969d11fd65c36f6c7ef72e3f2776f2ae9716f90f4603748c3300f4a20a3d3b899f3d2b

description:
  "Class::Spiffy" is a framework and methodology for doing object oriented
  (OO) programming in Perl. Class::Spiffy combines the best parts of
  Exporter.pm, base.pm, mixin.pm and SUPER.pm into one magic foundation
  class. It attempts to fix all the nits and warts of traditional Perl OO, in
  a clean, straightforward and (perhaps someday) standard way.

  Class::Spiffy borrows ideas from other OO languages like Python, Ruby, Java
  and Perl 6. It also adds a few tricks of its own.

  If you take a look on CPAN, there are a ton of OO related modules. When
  starting a new project, you need to pick the set of modules that makes most
  sense, and then you need to use those modules in each of your classes.
  Class::Spiffy, on the other hand, has everything you'll probably need in
  one module, and you only need to use it once in one of your classes. If you
  make Class::Spiffy the base class of the basest class in your project,
  Class::Spiffy will automatically pass all of its magic to all of your
  subclasses. You may eventually forget that you're even using it!

  The most striking difference between Class::Spiffy and other Perl object
  oriented base classes, is that it has the ability to export things. If you
  create a subclass of Class::Spiffy, all the things that Class::Spiffy
  exports will automatically be exported by your subclass, in addition to any
  more things that you want to export. And if someone creates a subclass of
  your subclass, all of those things will be exported automatically, and so
  on. Think of it as "Inherited Exportation", and it uses the familiar
  Exporter.pm specification syntax.

  To use Class::Spiffy or any subclass of Class::Spiffy as a base class of
  your class, you specify the '-base' argument to the 'use' command.

      use MySpiffyBaseModule -base;

  You can also use the traditional 'use base 'MySpiffyBaseModule';' syntax
  and everything will work exactly the same. The only caveat is that
  Class::Spiffy must already be loaded. That's because Class::Spiffy rewires
  base.pm on the fly to do all the Spiffy magics.

  Class::Spiffy has support for Ruby-like mixins with Perl6-like roles. Just
  like 'base' you can use either of the following invocations:

      use mixin 'MySpiffyBaseModule';
      use MySpiffyBaseModule -mixin;

  The second version will only work if the class being mixed in is a subclass
  of Class::Spiffy. The first version will work in all cases, as long as
  Class::Spiffy has already been loaded.

  To limit the methods that get mixed in, use roles. (Hint: they work just
  like an Exporter list):

      use MySpiffyBaseModule -mixin => qw(:basics x y !foo);

  A useful feature of Class::Spiffy is that it exports two functions: 'field'
  and 'const' that can be used to declare the attributes of your class, and
  automatically generate accessor methods for them. The only difference
  between the two functions is that 'const' attributes can not be modified;
  thus the accessor is much faster.

  One interesting aspect of OO programming is when a method calls the same
  method from a parent class. This is generally known as calling a super
  method. Perl's facility for doing this is butt ugly:

      sub cleanup {
          my $self = shift;
          $self->scrub;
          $self->SUPER::cleanup(@_);
      }

  Class::Spiffy makes it, er, super easy to call super methods. You just use
  the 'super' function. You don't need to pass it any arguments because it
  automatically passes them on for you. Here's the same function with
  Class::Spiffy:

      sub cleanup {
          my $self = shift;
          $self->scrub;
          super;
      }

  Class::Spiffy has a special method for parsing arguments called
  'parse_arguments', that it also uses for parsing its own arguments. You
  declare which arguments are boolean (singletons) and which ones are paired,
  with two special methods called 'boolean_arguments' and 'paired_arguments'.
  Parse arguments pulls out the booleans and pairs and returns them in an
  anonymous hash, followed by a list of the unmatched arguments.

  Finally, Class::Spiffy can export a few debugging functions 'WWW', 'XXX',
  'YYY' and 'ZZZ'. Each of them produces a YAML dump of its arguments. WWW
  warns the output, XXX dies with the output, YYY prints the output, and ZZZ
  confesses the output. If YAML doesn't suit your needs, you can switch all
  the dumps to Data::Dumper format with the '- dumper' option.

  That's Spiffy! Pretty Classy, eh?


name: perl-Class-Spiffy
arch: src
version: 0.15
epoch: 0
release: 2.35
summary: Spiffy Framework with No Source Filtering
url: https://metacpan.org/release/Class-Spiffy
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat19
location_href: src/perl-Class-Spiffy-0.15-2.35.src.rpm
checksum_type: sha512
pkgId:
  18420b3bc983edbe990c71e4ff5f67eafd23aafc1ab545613d4623edc9df49c588fa77603d0573889137d8fdba618704d4f1cd559831854ad9e6d82fe0dab9e8

description:
  "Class::Spiffy" is a framework and methodology for doing object oriented
  (OO) programming in Perl. Class::Spiffy combines the best parts of
  Exporter.pm, base.pm, mixin.pm and SUPER.pm into one magic foundation
  class. It attempts to fix all the nits and warts of traditional Perl OO, in
  a clean, straightforward and (perhaps someday) standard way.

  Class::Spiffy borrows ideas from other OO languages like Python, Ruby, Java
  and Perl 6. It also adds a few tricks of its own.

  If you take a look on CPAN, there are a ton of OO related modules. When
  starting a new project, you need to pick the set of modules that makes most
  sense, and then you need to use those modules in each of your classes.
  Class::Spiffy, on the other hand, has everything you'll probably need in
  one module, and you only need to use it once in one of your classes. If you
  make Class::Spiffy the base class of the basest class in your project,
  Class::Spiffy will automatically pass all of its magic to all of your
  subclasses. You may eventually forget that you're even using it!

  The most striking difference between Class::Spiffy and other Perl object
  oriented base classes, is that it has the ability to export things. If you
  create a subclass of Class::Spiffy, all the things that Class::Spiffy
  exports will automatically be exported by your subclass, in addition to any
  more things that you want to export. And if someone creates a subclass of
  your subclass, all of those things will be exported automatically, and so
  on. Think of it as "Inherited Exportation", and it uses the familiar
  Exporter.pm specification syntax.

  To use Class::Spiffy or any subclass of Class::Spiffy as a base class of
  your class, you specify the '-base' argument to the 'use' command.

      use MySpiffyBaseModule -base;

  You can also use the traditional 'use base 'MySpiffyBaseModule';' syntax
  and everything will work exactly the same. The only caveat is that
  Class::Spiffy must already be loaded. That's because Class::Spiffy rewires
  base.pm on the fly to do all the Spiffy magics.

  Class::Spiffy has support for Ruby-like mixins with Perl6-like roles. Just
  like 'base' you can use either of the following invocations:

      use mixin 'MySpiffyBaseModule';
      use MySpiffyBaseModule -mixin;

  The second version will only work if the class being mixed in is a subclass
  of Class::Spiffy. The first version will work in all cases, as long as
  Class::Spiffy has already been loaded.

  To limit the methods that get mixed in, use roles. (Hint: they work just
  like an Exporter list):

      use MySpiffyBaseModule -mixin => qw(:basics x y !foo);

  A useful feature of Class::Spiffy is that it exports two functions: 'field'
  and 'const' that can be used to declare the attributes of your class, and
  automatically generate accessor methods for them. The only difference
  between the two functions is that 'const' attributes can not be modified;
  thus the accessor is much faster.

  One interesting aspect of OO programming is when a method calls the same
  method from a parent class. This is generally known as calling a super
  method. Perl's facility for doing this is butt ugly:

      sub cleanup {
          my $self = shift;
          $self->scrub;
          $self->SUPER::cleanup(@_);
      }

  Class::Spiffy makes it, er, super easy to call super methods. You just use
  the 'super' function. You don't need to pass it any arguments because it
  automatically passes them on for you. Here's the same function with
  Class::Spiffy:

      sub cleanup {
          my $self = shift;
          $self->scrub;
          super;
      }

  Class::Spiffy has a special method for parsing arguments called
  'parse_arguments', that it also uses for parsing its own arguments. You
  declare which arguments are boolean (singletons) and which ones are paired,
  with two special methods called 'boolean_arguments' and 'paired_arguments'.
  Parse arguments pulls out the booleans and pairs and returns them in an
  anonymous hash, followed by a list of the unmatched arguments.

  Finally, Class::Spiffy can export a few debugging functions 'WWW', 'XXX',
  'YYY' and 'ZZZ'. Each of them produces a YAML dump of its arguments. WWW
  warns the output, XXX dies with the output, YYY prints the output, and ZZZ
  confesses the output. If YAML doesn't suit your needs, you can switch all
  the dumps to Data::Dumper format with the '- dumper' option.

  That's Spiffy! Pretty Classy, eh?


name: perl-Class-Std
arch: noarch
version: 0.013
epoch: 0
release: 1.51
summary: Support for creating standard "inside-out" classes
url: http://search.cpan.org/dist/Class-Std/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat09
rpm_sourcerpm: perl-Class-Std-0.013-1.51.src.rpm
location_href: noarch/perl-Class-Std-0.013-1.51.noarch.rpm
checksum_type: sha512
pkgId:
  9413bdaf023762a7543ce0b35c64c12420b9ee151e4347a28a68e47ad0b41077044212b96813e95a1cf4ebf3d90402903030d328126571166af08b2488c40780

description:
  This module provides tools that help to implement the "inside out object"
  class structure in a convenient and standard way.

  _Portions of the following code and documentation from "Perl Best
  Practices" copyright (c) 2005 by O'Reilly Media, Inc. and reprinted with
  permission._


name: perl-Class-Std
arch: src
version: 0.013
epoch: 0
release: 1.51
summary: Support for creating standard "inside-out" classes
url: http://search.cpan.org/dist/Class-Std/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat09
location_href: src/perl-Class-Std-0.013-1.51.src.rpm
checksum_type: sha512
pkgId:
  a2893d72d08aec88b1542b3ccd9d508e82a18d65b32c156b8552371fdcc59eceb3aa05830d7f26e35c25b62375babc2f5835f22661800bf5d2d51fc4775d08c9

description:
  This module provides tools that help to implement the "inside out object"
  class structure in a convenient and standard way.

  _Portions of the following code and documentation from "Perl Best
  Practices" copyright (c) 2005 by O'Reilly Media, Inc. and reprinted with
  permission._


name: perl-Class-Std-Fast
arch: noarch
version: 0.0.8
epoch: 0
release: 8.59
summary: Faster but Less Secure Than Class::Std
url: http://search.cpan.org/dist/Class-Std-Fast/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep83
rpm_sourcerpm: perl-Class-Std-Fast-0.0.8-8.59.src.rpm
location_href: noarch/perl-Class-Std-Fast-0.0.8-8.59.noarch.rpm
checksum_type: sha512
pkgId:
  3ce619f46e285d8002c66c8adf3d0a6cb5ca98f3bb2398cd4b691892545146bc701fb59348b65437da67a125efba3f93280716878379b68ddeb276967384a89d

description:
  Class::Std::Fast allows you to use the beautiful API of Class::Std in a
  faster way than Class::Std does.

  You can get the object's ident via scalarifiyng your object.

  Getting the objects ident is still possible via the ident method, but it's
  faster to scalarify your object.


name: perl-Class-Std-Fast
arch: src
version: 0.0.8
epoch: 0
release: 8.59
summary: Faster but Less Secure Than Class::Std
url: http://search.cpan.org/dist/Class-Std-Fast/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep83
location_href: src/perl-Class-Std-Fast-0.0.8-8.59.src.rpm
checksum_type: sha512
pkgId:
  6170be557db8b31c9b6dca7d883bc7f7e30f968f24fead42afa96aed42f3d246c2b9e716c593350487dfdcce0c10a536448c40fea381da63243e698dcb127119

description:
  Class::Std::Fast allows you to use the beautiful API of Class::Std in a
  faster way than Class::Std does.

  You can get the object's ident via scalarifiyng your object.

  Getting the objects ident is still possible via the ident method, but it's
  faster to scalarify your object.


name: perl-Class-Std-Storable
arch: noarch
version: 0.0.1
epoch: 0
release: 8.51
summary: Support for creating serializable "inside-out" classes
url: http://search.cpan.org/dist/Class-Std-Storable/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb13
rpm_sourcerpm: perl-Class-Std-Storable-0.0.1-8.51.src.rpm
location_href: noarch/perl-Class-Std-Storable-0.0.1-8.51.noarch.rpm
checksum_type: sha512
pkgId:
  73f7215f3dae73e3d90ddbe899eda4121887a0e15a7dfa37cc90068eb1b461f9e93efc396dc4dbc6a232ed35d5b83bbcb76230c5f79545b0d19b3c76838c9e41

description:
  Class::Std introduced the "inside-out" model for classes (perldoc
  Class::Std for details). Among its salient features is complete
  encapsulation; that is, an object's data may only be accessed via its
  methods, unlike the usual hashref model that permits direct access by any
  code whatsoever. However, the drawback of complete encapsulation is that
  normal mechanisms for serialization won't work, as they rely on direct
  access to an object's attributes.

  This class provides the class-building functionality from Class::Std, and
  in addition provides an interface to allow Storable to freeze and thaw any
  declared attributes of this class and any superclasses that were built via
  Class::Std::Storable.

  However, in order to let Storable save attributes and construct the object,
  it is necessary to expose the attributes of the class to the world. Thus,
  any code could use the same interface that Storable does to get a copy of
  object attributes and create new objects with arbitrary attributes without
  going through the constructor. While the interface CAN'T be used to replace
  the existing attributes of an object, it COULD be used to create an
  arbitrarily mutated clone of an object without going through its methods.
  Also, if attributes are themselves references, then the objects to which
  they refer can be obtained and modified.

  As true encapsulation is one of the major features of Class::Std, this
  would be a good reason NOT to use this class. But this sacrifice is
  required to provide serialization. You must choose which is more important
  for your purposes, serialization or complete encapsulation. Consider also
  that while bypassing the class methods is possible to a limited degree with
  Class::Std::Storable, doing so is much more complicated than just using the
  methods, so use of this class still discourages casual violations of
  encapsulation.


name: perl-Class-Std-Storable
arch: src
version: 0.0.1
epoch: 0
release: 8.51
summary: Support for creating serializable "inside-out" classes
url: http://search.cpan.org/dist/Class-Std-Storable/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb13
location_href: src/perl-Class-Std-Storable-0.0.1-8.51.src.rpm
checksum_type: sha512
pkgId:
  bd898e0e8f271e64c0cd769d183070947357a7ebef5ace49c221d5a25d2af35a21ccb18d8f08da42f7426172aecaba40b46d60e895ac7dfd88fbe16ca8e1be55

description:
  Class::Std introduced the "inside-out" model for classes (perldoc
  Class::Std for details). Among its salient features is complete
  encapsulation; that is, an object's data may only be accessed via its
  methods, unlike the usual hashref model that permits direct access by any
  code whatsoever. However, the drawback of complete encapsulation is that
  normal mechanisms for serialization won't work, as they rely on direct
  access to an object's attributes.

  This class provides the class-building functionality from Class::Std, and
  in addition provides an interface to allow Storable to freeze and thaw any
  declared attributes of this class and any superclasses that were built via
  Class::Std::Storable.

  However, in order to let Storable save attributes and construct the object,
  it is necessary to expose the attributes of the class to the world. Thus,
  any code could use the same interface that Storable does to get a copy of
  object attributes and create new objects with arbitrary attributes without
  going through the constructor. While the interface CAN'T be used to replace
  the existing attributes of an object, it COULD be used to create an
  arbitrarily mutated clone of an object without going through its methods.
  Also, if attributes are themselves references, then the objects to which
  they refer can be obtained and modified.

  As true encapsulation is one of the major features of Class::Std, this
  would be a good reason NOT to use this class. But this sacrifice is
  required to provide serialization. You must choose which is more important
  for your purposes, serialization or complete encapsulation. Consider also
  that while bypassing the class methods is possible to a limited degree with
  Class::Std::Storable, doing so is much more complicated than just using the
  methods, so use of this class still discourages casual violations of
  encapsulation.


name: perl-Class-Std-Utils
arch: noarch
version: 0.0.3
epoch: 0
release: 1.47
summary: Utility subroutines for building "inside-out" objects
url: http://search.cpan.org/dist/Class-Std-Utils/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb62
rpm_sourcerpm: perl-Class-Std-Utils-0.0.3-1.47.src.rpm
location_href: noarch/perl-Class-Std-Utils-0.0.3-1.47.noarch.rpm
checksum_type: sha512
pkgId:
  ed01baa11e707fb93d10bb467da63395c7dbe9f093f32e0911752bd0780a96f6168940b8b62e1f93d421787593a8314e9d7983a0e5b4ab62934a7ec486640ca2

description:
  This module provides three utility subroutines that simplify the creation
  of "inside-out" classes. See Chapters 15 and 16 of "Perl Best Practices"
  (O'Reilly, 2005) for details.


name: perl-Class-Std-Utils
arch: src
version: 0.0.3
epoch: 0
release: 1.47
summary: Utility subroutines for building "inside-out" objects
url: http://search.cpan.org/dist/Class-Std-Utils/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb62
location_href: src/perl-Class-Std-Utils-0.0.3-1.47.src.rpm
checksum_type: sha512
pkgId:
  ef028970c1fd1e2a39842ffcd732b37f087d7f592e30d48ab670525c4bbb1d7e5db6f9bc2c8092854365cfd80dd71cc7f0d1ac0a5e6c9ec0de782423d9a2b56a

description:
  This module provides three utility subroutines that simplify the creation
  of "inside-out" classes. See Chapters 15 and 16 of "Perl Best Practices"
  (O'Reilly, 2005) for details.


name: perl-Class-Storage
arch: noarch
version: 0.03
epoch: 0
release: 2.58
summary: Pack Objects by Removing Blessing so They Can Be Unpacked Back
description: pack objects by removing blessing so they can be unpacked back
url: http://search.cpan.org/dist/Class-Storage/
rpm_license: Artistic-2.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep85
rpm_sourcerpm: perl-Class-Storage-0.03-2.58.src.rpm
location_href: noarch/perl-Class-Storage-0.03-2.58.noarch.rpm
checksum_type: sha512
pkgId:
  28c8e451c1d5eac44f2a526f28a70f8a1a30f1cffbbe797ddf9ecf192f2b29a95eff66cf8a686d094197e3d3137765e1c4fc843454c8212511baeb0bb0ee4537


name: perl-Class-Storage
arch: src
version: 0.03
epoch: 0
release: 2.58
summary: Pack Objects by Removing Blessing so They Can Be Unpacked Back
description: pack objects by removing blessing so they can be unpacked back
url: http://search.cpan.org/dist/Class-Storage/
rpm_license: Artistic-2.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep85
location_href: src/perl-Class-Storage-0.03-2.58.src.rpm
checksum_type: sha512
pkgId:
  b638c897aa9469bd459be3617974e048dc4dc20a90c8affeba5532a999800b25205449a3351f04c521990d8b82a75ec1aa41ab663f9e235b6d53d9e5f2f6086e


name: perl-Class-StorageFactory
arch: noarch
version: 1.0
epoch: 0
release: 7.3
summary: base class for factories to store and fetch objects
url: http://search.cpan.org/dist/Class-StorageFactory/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: cloud116
rpm_sourcerpm: perl-Class-StorageFactory-1.0-7.3.src.rpm
location_href: noarch/perl-Class-StorageFactory-1.0-7.3.noarch.rpm
checksum_type: sha512
pkgId:
  1a494de5c426cc03da011d45c6fcac7756f5c3ddf2a9bf6cf71f0bc9d28a47afe59b83f948ed872deca99c2491bb530b8e69f13b2dbe04e426f70b7257a3e0bd

description:
  Class::StorageFactory is a base class for object factories that build and
  store objects.

  This class provides only the barest methods for its purposes; the main
  interface is through 'new()', 'fetch()', and 'store()'.


name: perl-Class-StorageFactory
arch: src
version: 1.0
epoch: 0
release: 7.3
summary: base class for factories to store and fetch objects
url: http://search.cpan.org/dist/Class-StorageFactory/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: cloud116
location_href: src/perl-Class-StorageFactory-1.0-7.3.src.rpm
checksum_type: sha512
pkgId:
  5b6b054ac23689cf34172101fee3fd0bc2ea8c1f683cb9b2ff6e12edf312f03dd20885a211f158ecc98f3df5200769b2e8d290885a41fd75308f77170f4dcef5

description:
  Class::StorageFactory is a base class for object factories that build and
  store objects.

  This class provides only the barest methods for its purposes; the main
  interface is through 'new()', 'fetch()', and 'store()'.


name: perl-Class-StrongSingleton
arch: noarch
version: 0.02
epoch: 0
release: 1.49
summary: Stronger and More Secure Singleton Base Class
url: http://search.cpan.org/dist/Class-StrongSingleton/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep86
rpm_sourcerpm: perl-Class-StrongSingleton-0.02-1.49.src.rpm
location_href: noarch/perl-Class-StrongSingleton-0.02-1.49.noarch.rpm
checksum_type: sha512
pkgId:
  e6883f9de7cd5bc6426100615d9b5320d04b45cddc33effbe203442ad81ddcad59c83e9c9f8c7a98c15da8d2c17ea0b71b7655ded366083896780d61c8b9b5a8

description:
  This module is an alternative to Class::Singleton and Class::WeakSingleton,
  and provides a more secure Singleton class in that it takes steps to
  prevent the possibility of accidental creation of multiple instances and/or
  the overwriting of existsing Singleton instances. For a detailed comparison
  please see the SEE ALSO section.

  Here is a description of how it all works. First, the user creates the
  first Singleton instance of the class in the normal way.

    my $obj = My::Singleton::Class->new("variable", "parameter");

  This instance is then stored inside a lexically scoped variable within the
  Class::StrongSingleton package. This prevents the variable from being
  accessed by anything but methods from the Class::StrongSingleton package.
  At this point as well, the 'new' method to the class is overridden so that
  it will always return the Singleton instance. This prevents any accidental
  overwriting of the Singleton instance. This means that any of the follow
  lines of code all produce the same instance:

    my $instance = $obj->instance();
    my $instance = My::Singleton::Class->instance();
    my $instance = $obj->new();
    my $instance = My::Singleton::Class->new();

  Personally, I see this an an improvement over the usual _Gang of Four_
  style Singletons which discourages the use of the 'new' method entirely.
  Through this method, a user can be able to use the Singleton class in a
  normal way, not having to know it's actually a Singleton. This can be handy
  if your design changes and you no longer need the class as a Singleton.


name: perl-Class-StrongSingleton
arch: src
version: 0.02
epoch: 0
release: 1.49
summary: Stronger and More Secure Singleton Base Class
url: http://search.cpan.org/dist/Class-StrongSingleton/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep86
location_href: src/perl-Class-StrongSingleton-0.02-1.49.src.rpm
checksum_type: sha512
pkgId:
  1062ab30daab3b168ae4c0fb959bcada23850617b1f5895581c7fc279666eed4680eb9e4386634efac5ab65b5eff0fe48cbfdd2bb410ded6246e8ad66440ef19

description:
  This module is an alternative to Class::Singleton and Class::WeakSingleton,
  and provides a more secure Singleton class in that it takes steps to
  prevent the possibility of accidental creation of multiple instances and/or
  the overwriting of existsing Singleton instances. For a detailed comparison
  please see the SEE ALSO section.

  Here is a description of how it all works. First, the user creates the
  first Singleton instance of the class in the normal way.

    my $obj = My::Singleton::Class->new("variable", "parameter");

  This instance is then stored inside a lexically scoped variable within the
  Class::StrongSingleton package. This prevents the variable from being
  accessed by anything but methods from the Class::StrongSingleton package.
  At this point as well, the 'new' method to the class is overridden so that
  it will always return the Singleton instance. This prevents any accidental
  overwriting of the Singleton instance. This means that any of the follow
  lines of code all produce the same instance:

    my $instance = $obj->instance();
    my $instance = My::Singleton::Class->instance();
    my $instance = $obj->new();
    my $instance = My::Singleton::Class->new();

  Personally, I see this an an improvement over the usual _Gang of Four_
  style Singletons which discourages the use of the 'new' method entirely.
  Through this method, a user can be able to use the Singleton class in a
  normal way, not having to know it's actually a Singleton. This can be handy
  if your design changes and you no longer need the class as a Singleton.


name: perl-Class-Structured
arch: noarch
version: 0.1
epoch: 0
release: 8.59
summary: Provides a More Structured Class System for Perl
url: http://search.cpan.org/dist/Class-Structured/
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat03
rpm_sourcerpm: perl-Class-Structured-0.1-8.59.src.rpm
location_href: noarch/perl-Class-Structured-0.1-8.59.noarch.rpm
checksum_type: sha512
pkgId:
  a7a867ed06dd38174871aca3231409753cf3a1ecac86bacd3dfabc068f1e9ad38ba4334dfe8edb86a75a2aa9663a55ae56715bb13f3c602b3e98612780db76eb

description:
  Specifically, this function provides for variables with access specifiers
  that will inherit properly, for constructors, and for abstract functions.

  Abstract functions may be used on their own with no performance penalty.

  Constructors and access specified variables each imply the use of the other
  - and will incur a semi-significant performance penalty.

  Also, note that when using all of the features it can cause problems to
  define an AUTOLOAD function - so please don't.

rpm_license:
  Written by Robby Walker for Yet Another Perl Journal, CD-Lab (www.cd-lab.com), and Point Writer (www.pointwriter.com). All Rights Reserved.


name: perl-Class-Structured
arch: src
version: 0.1
epoch: 0
release: 8.59
summary: Provides a More Structured Class System for Perl
url: http://search.cpan.org/dist/Class-Structured/
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat03
location_href: src/perl-Class-Structured-0.1-8.59.src.rpm
checksum_type: sha512
pkgId:
  01e23d4a16a3db83f3be270e752b7cfcc0c862c9bb0d2fa2b71247419e71476726f84b92a52e2e510e5038d02520ed2ba1d74d09ac4a0b29032050e1d1c28a9d

description:
  Specifically, this function provides for variables with access specifiers
  that will inherit properly, for constructors, and for abstract functions.

  Abstract functions may be used on their own with no performance penalty.

  Constructors and access specified variables each imply the use of the other
  - and will incur a semi-significant performance penalty.

  Also, note that when using all of the features it can cause problems to
  define an AUTOLOAD function - so please don't.

rpm_license:
  Written by Robby Walker for Yet Another Perl Journal, CD-Lab (www.cd-lab.com), and Point Writer (www.pointwriter.com). All Rights Reserved.


name: perl-Class-Superclasses
arch: noarch
version: 1.00
epoch: 0
release: 1.35
summary: Find all (direct) superclasses of a class
description: Find all (direct) superclasses of a class
url: https://metacpan.org/release/Class-Superclasses
rpm_license: Artistic-2.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-atreju3
rpm_sourcerpm: perl-Class-Superclasses-1.00-1.35.src.rpm
location_href: noarch/perl-Class-Superclasses-1.00-1.35.noarch.rpm
checksum_type: sha512
pkgId:
  9023ee0e375d9c0f58773250aee96ab326962cdd202de1dd45f1ea915784aa61dc797f3ecc56881c97abc09cc35be13c3ab331e352c600f1b21b5b315b03ea33


name: perl-Class-Superclasses
arch: src
version: 1.00
epoch: 0
release: 1.35
summary: Find all (direct) superclasses of a class
description: Find all (direct) superclasses of a class
url: https://metacpan.org/release/Class-Superclasses
rpm_license: Artistic-2.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-atreju3
location_href: src/perl-Class-Superclasses-1.00-1.35.src.rpm
checksum_type: sha512
pkgId:
  422411473113f498d2896cb232c792c7c916b321b7021f0e28aa9ca901ef2688a4f76d67d303f09784c7cfefc8654ed35d8b744b1a9f03b42e511a2449b2661e


name: perl-Class-Tag
arch: noarch
version: 0.10
epoch: 0
release: 4.59
summary: Programmatically Label (Mark) Classes, Methods, Roles and Modules with M[cut]
url: http://search.cpan.org/dist/Class-Tag/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: beatles
rpm_sourcerpm: perl-Class-Tag-0.10-4.59.src.rpm
location_href: noarch/perl-Class-Tag-0.10-4.59.noarch.rpm
checksum_type: sha512
pkgId:
  525ddb36531de6afb32db54d3ffe724fcf5b64105719967bacb8cc85a2cbed3f53c6e44c3c6990e0750015036288c9224405abecebfd5e59b4330397435851ec

description:
  Sometimes it is necessary to programmatically tag modules and classes with
  some meta-data tags (arbitrary labels or key/value pairs) to be able to
  assert that you deal with proper classes (modules), methods and roles. Such
  need typically arises for plug-in modules, application component modules,
  complex class inheritance hierarchies, etc.

  Class::Tag allows programmatically label (mark) classes and modules with
  arbitrary inheritable tags (key/value pairs) without collision with
  methods/attributes/functions of the class/module and query those tags on
  arbitrary classes and modules.

  The syntax of Class::Tag usage is an interaction of *tag*, *tagger* (class)
  and *target* (class): tagger applies tag to a target class. Names of tagger
  class (except Class::Tag itself) and tag can be chosen almost freely (with
  usual restrictions) to be read together as (subject and predicate in a)
  self-explanatory English sentence, with question semantics (e.g. in
  conditionals) optionally toggled by direct/indirect method call notation.
  The following synopsis illustrates.

  Directly using Class::Tag as tagger:

  	{
  		package   Foo;
  		use Class::Tag 'tagged'; # tagging Foo class with 'tagged' tag
  		tag Class::Tag 'tagged'; # same, but at run-time
  	}

  	
  	Class::Tag->tagged('Foo'); # true
  	Class::Tag->tagged('Bar'); # false

  Tag can be removed completely from within the scope of the same package
  Foo:

  	{
  		package   Foo;
  		
  		
  		untag Class::Tag 'tagged'; # at run-time
  		Class::Tag->tagged('Foo'); # false
  	}

  However, since tagged() is now the read-write accessor for tag value, it
  may be easier to alter tag's value instead:

  	Class::Tag->tagged('Foo' => 0);
  	Class::Tag->tagged('Foo'); # false

  If no tags are given, the 'is' tag is assumed:

  	package Foo;
  	use Class::Tag;      # equivalent to...
  	use Class::Tag 'is'; # same
  	use Class::Tag ();   # no tagging

  New tagger class can be created by simply tagging package with special
  'tagger_class' tag using either Class::Tag or any other tagger class, and
  then declaring specific tags to be used with that new tagger class.
  Declaration of specific tag is done by new tagger class applying this tag
  to itself. Declaring special 'AUTOLOAD' tag this way effectively declares
  that any tag can be used with new tagger class:

  	{
  		
  		

  		package Awesome;                # new tagger class
  		use  Class::Tag 'tagger_class'; # must be before following declarations
  		use     Awesome 'specific_tag'; # declares 'specific_tag' for use
  		use     Awesome 'AUTOLOAD';     # declares that any tag can be used

  		1;
  	}

  	Class::Tag->tagger_class('Awesome'); # true

  Note that Awesome class is not required to be loaded from .pm file with
  use() or require(), it can be simply defined as above at any point in the
  code prior to using it as tagger class. Such tagger class definition is
  referred to as "inline" tagger class.

  The Class::Tag itself is somewhat similar to the following implicit
  declaration:

  	package Class::Tag;
  	use     Class::Tag 'tagger_class';
  	use     Class::Tag 'AUTOLOAD';

  Attempt to use tag that has not been declared (assuming 'AUTOLOAD' declares
  any tag) raises exception. Values of declaration tags can be used to modify
  behavior of tags - see "Declaration of tags" section for details.

  Any tagger class can be used as follows (in all following examples the
  original Class::Tag and Awesome tagger classes are interchangeable),
  assuming tags have been declared:

  Using default 'is' tag:

  	{
  		package Foo;
  		use Awesome;
  		use Awesome  'is';       # same
  		use Awesome { is => 1 }; # same
  	}

  	is Awesome  'Foo';  # true
  	is Awesome  'Bar';  # false

  	Awesome->is('Foo'); # true
  	Awesome->is('Bar'); # false

  	$obj = bless {}, 'Foo';

  	is Awesome  $obj;  # true
  	Awesome->is($obj); # true

  	$obj = bless {}, 'Bar';

  	is Awesome  $obj;  # false
  	Awesome->is($obj); # false

  Using tags 'class' and 'pureperl':

  	{
  		package Foo;
  		
  		use Awesome  'class';
  		use Awesome              'pureperl';
  		use Awesome  'class',    'pureperl';       # same
  		use Awesome { class => 1, pureperl => 1 }; # same
  	}

  	Awesome->class(   'Foo'); # true
  	Awesome->pureperl('Foo'); # true
  	Awesome->class(   'Bar'); # false
  	Awesome->pureperl('Bar'); # false

  Using key/value pairs as tags (tag values) and using read-write tag
  accessors:

  	{
  		package Foo;
  		use Awesome { class => 'is cool', author => 'metadoo' };
  	}

  	Awesome->author('Foo')                    eq 'metadoo'  ;     # true
  	Awesome->class( 'Foo')                    eq 'is cool'  ;     # true
  	Awesome->class( 'Foo'  => 'pupe-perl')    eq 'pupe-perl';     # true
  	Awesome->class( 'Foo')                    eq 'pupe-perl';     # true

  	$foo = bless {}, 'Foo';

  	Awesome->class( $foo) eq 'is cool'; # true
  	Awesome->author($foo) eq 'metadoo'; # true (inheriting)

  	Awesome->class( $foo)                     eq 'pupe-perl';     # true (inheriting)
  	Awesome->class( $foo  => 'pupe-perl too') eq 'pupe-perl too'; # true (copy-on-write)
  	Awesome->class( $foo)                     eq 'pupe-perl too'; # true (copy-on-write)
  	Awesome->class( 'Foo')                    eq 'pupe-perl';     # true (unmodified)

  In other words, tag values can be modified with samename accessors. Object
  instances from the class inherit tags from the class, so that modifying tag
  value on instance modifies that of a class and vice versa, except
  blessed-hash objects get their own, instance-specific values when modifying
  tag value on instance - copy-on-write approach.

  Inheriting tags, using for example the default 'is' tag:

  	{
  		package Foo;
  		use Awesome;
  		use Awesome 'is'; # same
  	}

  	@Bar::ISA = 'Foo';

  	Awesome->is('Foo'); # true
  	Awesome->is('Bar'); # true ('is' tag inherited)
  	Awesome::is('Foo'); # true
  	Awesome::is('Bar'); # false (no tag inheritance)

  By design, Class::Tag is a generalized framework for managing meta
  information (tags) about inheritable behaviors. Inheritable behaviors that
  can have meta-data tags attached include methods, classes, roles, etc. Tags
  are by necessity inheritable, as they need to be inherited together with
  behaviors they are supposed to describe.

  Simple example of the meta-data tag is a class name, with tag's (boolean)
  value returned by isa(). Another simple example of meta-data tag is a
  method name, with its value returned by can(). Yet another meta-data tag
  example is a role name, with tag's value supposed to be returned by DOES().
  But classes, methods and roles may also have other meta-data tags apart
  from their names. In particular, Class::Tag can easily be used to implement
  method attributes and even multiple "layers" of method attributes, for
  example:

  	package Zoo;

  	sub       foo    { 1 }
  	use Meta  foo => { is => 'ro', returns => 'boolean' };              # 1-st "meta-layer"
  	use Meta2 foo => { author => 'metadoo', doc => 'is dead-simple' };  # 2-nd "meta-layer"

  Such use opens possibilities for meta-programming and introspection. For
  example, method can access its own meta-data as follows:

  	sub foo { Meta->foo( ref($_[0])||$_[0] ) }
  	sub foo { Meta->foo(     $_[0]         ) } # nearly (but not exactly) same

  Technically, Class::Tag is the constructor for special variety of
  class/object attributes that are orthogonal to (isolated from) conventional
  attributes/methods of the class. Being the same and being orthogonal at the
  same time is what required to be good carrier of meta information about
  inheritable behavior. And use of tagger classes is a way to extend and
  partition class's namespace into meaningful orthogonal domains, as well as
  to extend the notion of the meta-data tag in the domain-specific way.


name: perl-Class-Tag
arch: src
version: 0.10
epoch: 0
release: 4.59
summary: Programmatically Label (Mark) Classes, Methods, Roles and Modules with M[cut]
url: http://search.cpan.org/dist/Class-Tag/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: beatles
location_href: src/perl-Class-Tag-0.10-4.59.src.rpm
checksum_type: sha512
pkgId:
  a90e23aaf8c235ae357f129173f4a8b89d64e4cb7242b55ce95a97c649bf2c5ae9e1fa60667511de9234383d4de77ef7a1c177696c175992bedcdd7e6c623e77

description:
  Sometimes it is necessary to programmatically tag modules and classes with
  some meta-data tags (arbitrary labels or key/value pairs) to be able to
  assert that you deal with proper classes (modules), methods and roles. Such
  need typically arises for plug-in modules, application component modules,
  complex class inheritance hierarchies, etc.

  Class::Tag allows programmatically label (mark) classes and modules with
  arbitrary inheritable tags (key/value pairs) without collision with
  methods/attributes/functions of the class/module and query those tags on
  arbitrary classes and modules.

  The syntax of Class::Tag usage is an interaction of *tag*, *tagger* (class)
  and *target* (class): tagger applies tag to a target class. Names of tagger
  class (except Class::Tag itself) and tag can be chosen almost freely (with
  usual restrictions) to be read together as (subject and predicate in a)
  self-explanatory English sentence, with question semantics (e.g. in
  conditionals) optionally toggled by direct/indirect method call notation.
  The following synopsis illustrates.

  Directly using Class::Tag as tagger:

  	{
  		package   Foo;
  		use Class::Tag 'tagged'; # tagging Foo class with 'tagged' tag
  		tag Class::Tag 'tagged'; # same, but at run-time
  	}

  	
  	Class::Tag->tagged('Foo'); # true
  	Class::Tag->tagged('Bar'); # false

  Tag can be removed completely from within the scope of the same package
  Foo:

  	{
  		package   Foo;
  		
  		
  		untag Class::Tag 'tagged'; # at run-time
  		Class::Tag->tagged('Foo'); # false
  	}

  However, since tagged() is now the read-write accessor for tag value, it
  may be easier to alter tag's value instead:

  	Class::Tag->tagged('Foo' => 0);
  	Class::Tag->tagged('Foo'); # false

  If no tags are given, the 'is' tag is assumed:

  	package Foo;
  	use Class::Tag;      # equivalent to...
  	use Class::Tag 'is'; # same
  	use Class::Tag ();   # no tagging

  New tagger class can be created by simply tagging package with special
  'tagger_class' tag using either Class::Tag or any other tagger class, and
  then declaring specific tags to be used with that new tagger class.
  Declaration of specific tag is done by new tagger class applying this tag
  to itself. Declaring special 'AUTOLOAD' tag this way effectively declares
  that any tag can be used with new tagger class:

  	{
  		
  		

  		package Awesome;                # new tagger class
  		use  Class::Tag 'tagger_class'; # must be before following declarations
  		use     Awesome 'specific_tag'; # declares 'specific_tag' for use
  		use     Awesome 'AUTOLOAD';     # declares that any tag can be used

  		1;
  	}

  	Class::Tag->tagger_class('Awesome'); # true

  Note that Awesome class is not required to be loaded from .pm file with
  use() or require(), it can be simply defined as above at any point in the
  code prior to using it as tagger class. Such tagger class definition is
  referred to as "inline" tagger class.

  The Class::Tag itself is somewhat similar to the following implicit
  declaration:

  	package Class::Tag;
  	use     Class::Tag 'tagger_class';
  	use     Class::Tag 'AUTOLOAD';

  Attempt to use tag that has not been declared (assuming 'AUTOLOAD' declares
  any tag) raises exception. Values of declaration tags can be used to modify
  behavior of tags - see "Declaration of tags" section for details.

  Any tagger class can be used as follows (in all following examples the
  original Class::Tag and Awesome tagger classes are interchangeable),
  assuming tags have been declared:

  Using default 'is' tag:

  	{
  		package Foo;
  		use Awesome;
  		use Awesome  'is';       # same
  		use Awesome { is => 1 }; # same
  	}

  	is Awesome  'Foo';  # true
  	is Awesome  'Bar';  # false

  	Awesome->is('Foo'); # true
  	Awesome->is('Bar'); # false

  	$obj = bless {}, 'Foo';

  	is Awesome  $obj;  # true
  	Awesome->is($obj); # true

  	$obj = bless {}, 'Bar';

  	is Awesome  $obj;  # false
  	Awesome->is($obj); # false

  Using tags 'class' and 'pureperl':

  	{
  		package Foo;
  		
  		use Awesome  'class';
  		use Awesome              'pureperl';
  		use Awesome  'class',    'pureperl';       # same
  		use Awesome { class => 1, pureperl => 1 }; # same
  	}

  	Awesome->class(   'Foo'); # true
  	Awesome->pureperl('Foo'); # true
  	Awesome->class(   'Bar'); # false
  	Awesome->pureperl('Bar'); # false

  Using key/value pairs as tags (tag values) and using read-write tag
  accessors:

  	{
  		package Foo;
  		use Awesome { class => 'is cool', author => 'metadoo' };
  	}

  	Awesome->author('Foo')                    eq 'metadoo'  ;     # true
  	Awesome->class( 'Foo')                    eq 'is cool'  ;     # true
  	Awesome->class( 'Foo'  => 'pupe-perl')    eq 'pupe-perl';     # true
  	Awesome->class( 'Foo')                    eq 'pupe-perl';     # true

  	$foo = bless {}, 'Foo';

  	Awesome->class( $foo) eq 'is cool'; # true
  	Awesome->author($foo) eq 'metadoo'; # true (inheriting)

  	Awesome->class( $foo)                     eq 'pupe-perl';     # true (inheriting)
  	Awesome->class( $foo  => 'pupe-perl too') eq 'pupe-perl too'; # true (copy-on-write)
  	Awesome->class( $foo)                     eq 'pupe-perl too'; # true (copy-on-write)
  	Awesome->class( 'Foo')                    eq 'pupe-perl';     # true (unmodified)

  In other words, tag values can be modified with samename accessors. Object
  instances from the class inherit tags from the class, so that modifying tag
  value on instance modifies that of a class and vice versa, except
  blessed-hash objects get their own, instance-specific values when modifying
  tag value on instance - copy-on-write approach.

  Inheriting tags, using for example the default 'is' tag:

  	{
  		package Foo;
  		use Awesome;
  		use Awesome 'is'; # same
  	}

  	@Bar::ISA = 'Foo';

  	Awesome->is('Foo'); # true
  	Awesome->is('Bar'); # true ('is' tag inherited)
  	Awesome::is('Foo'); # true
  	Awesome::is('Bar'); # false (no tag inheritance)

  By design, Class::Tag is a generalized framework for managing meta
  information (tags) about inheritable behaviors. Inheritable behaviors that
  can have meta-data tags attached include methods, classes, roles, etc. Tags
  are by necessity inheritable, as they need to be inherited together with
  behaviors they are supposed to describe.

  Simple example of the meta-data tag is a class name, with tag's (boolean)
  value returned by isa(). Another simple example of meta-data tag is a
  method name, with its value returned by can(). Yet another meta-data tag
  example is a role name, with tag's value supposed to be returned by DOES().
  But classes, methods and roles may also have other meta-data tags apart
  from their names. In particular, Class::Tag can easily be used to implement
  method attributes and even multiple "layers" of method attributes, for
  example:

  	package Zoo;

  	sub       foo    { 1 }
  	use Meta  foo => { is => 'ro', returns => 'boolean' };              # 1-st "meta-layer"
  	use Meta2 foo => { author => 'metadoo', doc => 'is dead-simple' };  # 2-nd "meta-layer"

  Such use opens possibilities for meta-programming and introspection. For
  example, method can access its own meta-data as follows:

  	sub foo { Meta->foo( ref($_[0])||$_[0] ) }
  	sub foo { Meta->foo(     $_[0]         ) } # nearly (but not exactly) same

  Technically, Class::Tag is the constructor for special variety of
  class/object attributes that are orthogonal to (isolated from) conventional
  attributes/methods of the class. Being the same and being orthogonal at the
  same time is what required to be good carrier of meta information about
  inheritable behavior. And use of tagger classes is a way to extend and
  partition class's namespace into meaningful orthogonal domains, as well as
  to extend the notion of the meta-data tag in the domain-specific way.


name: perl-Class-Throwable
arch: noarch
version: 0.13
epoch: 0
release: 1.46
summary: Minimal Lightweight Exception Class
url: http://search.cpan.org/dist/Class-Throwable/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb60
rpm_sourcerpm: perl-Class-Throwable-0.13-1.46.src.rpm
location_href: noarch/perl-Class-Throwable-0.13-1.46.noarch.rpm
checksum_type: sha512
pkgId:
  3bdf87e5d353364f286a4f3cd1bf8071645e3b327fce535aa450c488a2aa4f49d10f551a35d975b2f1efa262ea25f5216258d91f45e4bd84354caca2e18732ee

description:
  This module implements a minimal lightweight exception object. It is meant
  to be a compromise between more basic solutions like Carp which can only
  print information and cannot handle exception objects, and more more
  complex solutions like Exception::Class which can be used to define complex
  inline exceptions and has a number of module dependencies.


name: perl-Class-Throwable
arch: src
version: 0.13
epoch: 0
release: 1.46
summary: Minimal Lightweight Exception Class
url: http://search.cpan.org/dist/Class-Throwable/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb60
location_href: src/perl-Class-Throwable-0.13-1.46.src.rpm
checksum_type: sha512
pkgId:
  b12d71d0e75c6c43484ffb92f88240dfc109490eef2cbf3b21a28402a6a04f2c794e4cbef0953c1bba1f33b3b10e48fb6b23e619101684c199b7006213c6ecd6

description:
  This module implements a minimal lightweight exception object. It is meant
  to be a compromise between more basic solutions like Carp which can only
  print information and cannot handle exception objects, and more more
  complex solutions like Exception::Class which can be used to define complex
  inline exceptions and has a number of module dependencies.


name: perl-Class-Tie-InsideOut
arch: noarch
version: 0.11
epoch: 0
release: 6.56
summary: Inside-out objects on the cheap using tied hashes
url: http://search.cpan.org/dist/Class-Tie-InsideOut/
rpm_license: Artistic-2.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: hci-snode2-m0
rpm_sourcerpm: perl-Class-Tie-InsideOut-0.11-6.56.src.rpm
location_href: noarch/perl-Class-Tie-InsideOut-0.11-6.56.noarch.rpm
checksum_type: sha512
pkgId:
  194a4ec149262fb2dfed884423f00aaa908418357579e7aa66f7d8714fae2676b83c774ca60fd45d12f4a7de93703129a58338f7a5b69e526f548ce86f123c4b

description:
  This module is a proof-of-concept for implementing inside-out objects using
  tied hashes. It makes use of the L<Tie::InsideOut> package to tie hash keys
  to hashes in the calling package's namespace.

  Fields are accessed as hash keys, so in traditional Perl objects can be
  easily converted into inside-out objects.

  To use, inherit our class from Class::Tie::InsideOut and then specify the
  legal keys for your object to use as hashes within the classes namespace:

    package MyClass;

    use Class::Tie::InsideOut;

    our @ISA = qw( Class::Tie::InsideOut );

    our (%Field1, %Field2, %Field3 ); # Fields used by MyClass

  Note that your keys must be specified as 'our' variables so that they are
  accessible from outside of the class, and not as 'my' variables!

  Fields are accessed as hash keys from the object reference:

    sub method {
      my $self = shift;
      if (@_) {
        $self->{Field1} = shift;
      }
      else {
        return $self->{Field1};
      }
    }

  Converting a Perl module which uses "traditional" objects into one which
  uses inside-out objects can be a matter of adding Class::Tie::InsideOut to
  the '@ISA' list and adding the field names as global hashes.

  However, if child classes do not use parent class methods to access fields
  in the parent class, then there will be problems. See the KNOWN ISSUES
  section below.


name: perl-Class-Tie-InsideOut
arch: src
version: 0.11
epoch: 0
release: 6.56
summary: Inside-out objects on the cheap using tied hashes
url: http://search.cpan.org/dist/Class-Tie-InsideOut/
rpm_license: Artistic-2.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: hci-snode2-m0
location_href: src/perl-Class-Tie-InsideOut-0.11-6.56.src.rpm
checksum_type: sha512
pkgId:
  faf9be45559d268ea07e22ea99a22be937f2e79b4eed2e5703701c7f5ffdf14eebf23e8ab943105321163d90680222472003a2ec400f8b7d7a17d0845bf27337

description:
  This module is a proof-of-concept for implementing inside-out objects using
  tied hashes. It makes use of the L<Tie::InsideOut> package to tie hash keys
  to hashes in the calling package's namespace.

  Fields are accessed as hash keys, so in traditional Perl objects can be
  easily converted into inside-out objects.

  To use, inherit our class from Class::Tie::InsideOut and then specify the
  legal keys for your object to use as hashes within the classes namespace:

    package MyClass;

    use Class::Tie::InsideOut;

    our @ISA = qw( Class::Tie::InsideOut );

    our (%Field1, %Field2, %Field3 ); # Fields used by MyClass

  Note that your keys must be specified as 'our' variables so that they are
  accessible from outside of the class, and not as 'my' variables!

  Fields are accessed as hash keys from the object reference:

    sub method {
      my $self = shift;
      if (@_) {
        $self->{Field1} = shift;
      }
      else {
        return $self->{Field1};
      }
    }

  Converting a Perl module which uses "traditional" objects into one which
  uses inside-out objects can be a matter of adding Class::Tie::InsideOut to
  the '@ISA' list and adding the field names as global hashes.

  However, if child classes do not use parent class methods to access fields
  in the parent class, then there will be problems. See the KNOWN ISSUES
  section below.


name: perl-Class-Tiny
arch: noarch
version: 1.008
epoch: 0
release: 1.34
summary: Minimalist class construction
url: https://metacpan.org/release/Class-Tiny
rpm_license: Apache-2.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb63
rpm_sourcerpm: perl-Class-Tiny-1.008-1.34.src.rpm
location_href: noarch/perl-Class-Tiny-1.008-1.34.noarch.rpm
checksum_type: sha512
pkgId:
  c7d056a5eaaeb4336cbdde955ffde3f81dc8aa825f80223e12c54357e1b744376e22f2f59030a3ac20dcf182f4f3faa9299ac30787effcd234d0905addee5b53

description:
  This module offers a minimalist class construction kit in around 120 lines
  of code. Here is a list of features:

    * defines attributes via import arguments

    * generates read-write accessors

    * supports lazy attribute defaults

    * supports custom accessors

    * superclass provides a standard 'new' constructor

    * 'new' takes a hash reference or list of key/value pairs

    * 'new' supports providing 'BUILDARGS' to customize constructor options

    * 'new' calls 'BUILD' for each class from parent to child

    * superclass provides a 'DESTROY' method

    * 'DESTROY' calls 'DEMOLISH' for each class from child to parent

  Multiple-inheritance is possible, with superclass order determined via
  mro::get_linear_isa.

  It uses no non-core modules for any recent Perl. On Perls older than v5.10
  it requires MRO::Compat. On Perls older than v5.14, it requires
  Devel::GlobalDestruction.


name: perl-Class-Tiny
arch: src
version: 1.008
epoch: 0
release: 1.34
summary: Minimalist class construction
url: https://metacpan.org/release/Class-Tiny
rpm_license: Apache-2.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb63
location_href: src/perl-Class-Tiny-1.008-1.34.src.rpm
checksum_type: sha512
pkgId:
  654125aa261513c0caa252aae8667face4b3a0927de7da246b6c62ca36f240976e42e4ee38d08b1b35b0b52c941e03a865009561e3cef14a15223a12fc4e11f7

description:
  This module offers a minimalist class construction kit in around 120 lines
  of code. Here is a list of features:

    * defines attributes via import arguments

    * generates read-write accessors

    * supports lazy attribute defaults

    * supports custom accessors

    * superclass provides a standard 'new' constructor

    * 'new' takes a hash reference or list of key/value pairs

    * 'new' supports providing 'BUILDARGS' to customize constructor options

    * 'new' calls 'BUILD' for each class from parent to child

    * superclass provides a 'DESTROY' method

    * 'DESTROY' calls 'DEMOLISH' for each class from child to parent

  Multiple-inheritance is possible, with superclass order determined via
  mro::get_linear_isa.

  It uses no non-core modules for any recent Perl. On Perls older than v5.10
  it requires MRO::Compat. On Perls older than v5.14, it requires
  Devel::GlobalDestruction.


name: perl-Class-Tiny-Antlers
arch: noarch
version: 0.024
epoch: 0
release: 1.31
summary: Moose-like sugar for Class::Tiny
url: https://metacpan.org/release/Class-Tiny-Antlers
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus3
rpm_sourcerpm: perl-Class-Tiny-Antlers-0.024-1.31.src.rpm
location_href: noarch/perl-Class-Tiny-Antlers-0.024-1.31.noarch.rpm
checksum_type: sha512
pkgId:
  0fae2c427f5bd0d40ff3104abb15fadc4f9f555f57426cdc090a7be574120265be5d5d6293f6e6b641b94b43e69c4ed09dfc71f8e9f72119aa1fd2b02fd5de4a

description:
  Class::Tiny::Antlers provides Moose-like 'has', 'extends', 'with',
  'before', 'after' and 'around' keywords for Class::Tiny. (The 'with'
  keyword requires Role::Tiny; method modifiers require
  Class::Method::Modifiers.)

  Class::Tiny doesn't support all Moose's attribute options; 'has' should
  throw you an error if you try to do something it doesn't support (like
  triggers).

  Class::Tiny::Antlers does however hack in support for 'is => 'ro'' and
  Moo-style 'is => 'rwp'', clearers and predicates.

  From version 0.24, Class::Tiny::Antlers also adds support for `isa` and
  `coerce` using Type::Tiny. (I mean, this is a TOBYINK module, so what do
  you expect?!) Technically MooseX::Types, MouseX::Types, Specio, and
  Type::Nano should work, but these are less tested.


name: perl-Class-Tiny-Antlers
arch: src
version: 0.024
epoch: 0
release: 1.31
summary: Moose-like sugar for Class::Tiny
url: https://metacpan.org/release/Class-Tiny-Antlers
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus3
location_href: src/perl-Class-Tiny-Antlers-0.024-1.31.src.rpm
checksum_type: sha512
pkgId:
  9ec5a71c1c6e21f253d04431532c757676a78964e1de21819189dcb19edb49b5e216de6d5aaf9c9850fac5dddead6b7fda69b4233ad7c867be78c03e3761a6f0

description:
  Class::Tiny::Antlers provides Moose-like 'has', 'extends', 'with',
  'before', 'after' and 'around' keywords for Class::Tiny. (The 'with'
  keyword requires Role::Tiny; method modifiers require
  Class::Method::Modifiers.)

  Class::Tiny doesn't support all Moose's attribute options; 'has' should
  throw you an error if you try to do something it doesn't support (like
  triggers).

  Class::Tiny::Antlers does however hack in support for 'is => 'ro'' and
  Moo-style 'is => 'rwp'', clearers and predicates.

  From version 0.24, Class::Tiny::Antlers also adds support for `isa` and
  `coerce` using Type::Tiny. (I mean, this is a TOBYINK module, so what do
  you expect?!) Technically MooseX::Types, MouseX::Types, Specio, and
  Type::Nano should work, but these are less tested.


name: perl-Class-Tiny-Chained
arch: noarch
version: 0.004
epoch: 0
release: 1.47
summary: Minimalist class construction, with chained attributes
url: http://search.cpan.org/dist/Class-Tiny-Chained/
rpm_license: Artistic-2.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat11
rpm_sourcerpm: perl-Class-Tiny-Chained-0.004-1.47.src.rpm
location_href: noarch/perl-Class-Tiny-Chained-0.004-1.47.noarch.rpm
checksum_type: sha512
pkgId:
  abfd9a4f4515e03f9ddee6b3ebedc5ab4017371bdd5c66e76570ff29980854087db1ee26f52b4a7366d9c47d1803d075e10cd6fca11b22871868d0e33ae53aa3

description:
  Class::Tiny::Chained is a wrapper around Class::Tiny which makes the
  generated attribute accessors chainable; that is, when setting an attribute
  value, the object is returned so that further methods can be called.


name: perl-Class-Tiny-Chained
arch: src
version: 0.004
epoch: 0
release: 1.47
summary: Minimalist class construction, with chained attributes
url: http://search.cpan.org/dist/Class-Tiny-Chained/
rpm_license: Artistic-2.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: goat11
location_href: src/perl-Class-Tiny-Chained-0.004-1.47.src.rpm
checksum_type: sha512
pkgId:
  0ae4b4768e3448e63c4c3942b5abc11c5ffa7ec146309429cc13cdb1fdb714a75f93740c36eef850f161ea2cd5ffb6718be3a2ecc7b44e0478a0ad55f7c298cf

description:
  Class::Tiny::Chained is a wrapper around Class::Tiny which makes the
  generated attribute accessors chainable; that is, when setting an attribute
  value, the object is returned so that further methods can be called.


name: perl-Class-Tiny-Immutable
arch: noarch
version: 0.001
epoch: 0
release: 1.37
summary: Minimalist class construction, with read-only
url: https://metacpan.org/release/Class-Tiny-Immutable
rpm_license: Artistic-2.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: hci-snode3-m0
rpm_sourcerpm: perl-Class-Tiny-Immutable-0.001-1.37.src.rpm
location_href: noarch/perl-Class-Tiny-Immutable-0.001-1.37.noarch.rpm
checksum_type: sha512
pkgId:
  fbbdc7f60c01ea9bd31215f08276191ec4aea73230f44ef77d984c82e6288ed4930c96344def9d38c6c0867ad4b71c6ac27fd2a739bc316e553737f329ef49d9

description:
  Class::Tiny::Immutable is a wrapper around Class::Tiny which makes the
  generated attributes read-only, and required to be set in the object
  constructor if they do not have a lazy default defined. In other words,
  attributes are either "lazy" or "required".


name: perl-Class-Tiny-Immutable
arch: src
version: 0.001
epoch: 0
release: 1.37
summary: Minimalist class construction, with read-only
url: https://metacpan.org/release/Class-Tiny-Immutable
rpm_license: Artistic-2.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: hci-snode3-m0
location_href: src/perl-Class-Tiny-Immutable-0.001-1.37.src.rpm
checksum_type: sha512
pkgId:
  882ff4be166e3c726c34682eaa20dad22cfa54b2d47ce5f8478eadc5f3d05780fa242a4ac546b1a11bf2c633d9d0257b7108045fe102da50af445fcf9d394153

description:
  Class::Tiny::Immutable is a wrapper around Class::Tiny which makes the
  generated attributes read-only, and required to be set in the object
  constructor if they do not have a lazy default defined. In other words,
  attributes are either "lazy" or "required".


name: perl-Class-Trait
arch: noarch
version: 0.31
epoch: 0
release: 1.32
summary: Deprecated. Please use Moose::Role
description: This document attempts to explain Traits in terms of Perl.
url: http://search.cpan.org/dist/Class-Trait/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb57
rpm_sourcerpm: perl-Class-Trait-0.31-1.32.src.rpm
location_href: noarch/perl-Class-Trait-0.31-1.32.noarch.rpm
checksum_type: sha512
pkgId:
  bdea702ef35047a0a9fa8ab86bfedcec55e46ba60b749f74af15ae0afaf87be8ee3d0f827ea8eb618e8c282db9382792bc19af7ff4f430856ba46cdcf11fafbd


name: perl-Class-Trait
arch: src
version: 0.31
epoch: 0
release: 1.32
summary: Deprecated. Please use Moose::Role
description: This document attempts to explain Traits in terms of Perl.
url: http://search.cpan.org/dist/Class-Trait/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb57
location_href: src/perl-Class-Trait-0.31-1.32.src.rpm
checksum_type: sha512
pkgId:
  a7d69ddc4a58d56a58bac593a37701119ea6499eb92681d9cf1dadf1ee2d179fb5050ca0de4d9b7b88377c8ed234fd1433a8b69418dff48768f3282357a2721e


name: perl-Class-TransparentFactory
arch: noarch
version: 0.02
epoch: 0
release: 9.31
summary: Transparently choose a provider class with an automatic facade
url: https://metacpan.org/release/Class-TransparentFactory
rpm_license: MIT
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb20
rpm_sourcerpm: perl-Class-TransparentFactory-0.02-9.31.src.rpm
location_href: noarch/perl-Class-TransparentFactory-0.02-9.31.noarch.rpm
checksum_type: sha512
pkgId:
  393ce8a3640c058b8d346b9caa993b8ca2416e45a065835a0574a58ac9dcdf62b379865f9eb66325fc60cbf2325d84ea61d0b4f9d8e6aa09898f10da906b2257

description:
  This module is intended for developers who find they need to refactor code
  away from one provider of functionality to a factory + set of
  API-compatible providers. It's not that factories are very difficult to
  write or maintain, but code that uses them tends to be somewhat cluttered.

  With Class-TransparentFactory, your user code remains exactly as it was
  before you split off to several providers; the original module class turns
  into a facade in which class methods are automatically turned into proxies
  for the appropriate provider class.

  To use Class-TransparentFactory in user code, no change is needed. (That is
  the point!) To use it in your libraries, you need to follow these steps:

  * Move all your actual implementation into another module.

  Its name is not important to Class::TransparentFactory, but let's call it
  'ProviderOne' here. The old namespace by which the implementation was known
  we will call 'Facade'.

  * Declare 'Facade' as a transparent factory.

  See _import_ below for details. For a typical OOPish module with no special
  class methods, this will suffice:

    package Facade;
    use Class::TransparentFactory qw(new);

  * Implement your factory.

  See _impl_ for details. Here is where you put the business logic that
  determines which provider is suitable and should be used for this
  particular call.


name: perl-Class-TransparentFactory
arch: src
version: 0.02
epoch: 0
release: 9.31
summary: Transparently choose a provider class with an automatic facade
url: https://metacpan.org/release/Class-TransparentFactory
rpm_license: MIT
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb20
location_href: src/perl-Class-TransparentFactory-0.02-9.31.src.rpm
checksum_type: sha512
pkgId:
  4b8e677f99bb3d5c0cb74be30bef7d1063ebea00261f92ab4604be01858ff4c056b0863e66de5d95e1a3ce82261b174a3a7c19b64fba757bafbe791b79947860

description:
  This module is intended for developers who find they need to refactor code
  away from one provider of functionality to a factory + set of
  API-compatible providers. It's not that factories are very difficult to
  write or maintain, but code that uses them tends to be somewhat cluttered.

  With Class-TransparentFactory, your user code remains exactly as it was
  before you split off to several providers; the original module class turns
  into a facade in which class methods are automatically turned into proxies
  for the appropriate provider class.

  To use Class-TransparentFactory in user code, no change is needed. (That is
  the point!) To use it in your libraries, you need to follow these steps:

  * Move all your actual implementation into another module.

  Its name is not important to Class::TransparentFactory, but let's call it
  'ProviderOne' here. The old namespace by which the implementation was known
  we will call 'Facade'.

  * Declare 'Facade' as a transparent factory.

  See _import_ below for details. For a typical OOPish module with no special
  class methods, this will suffice:

    package Facade;
    use Class::TransparentFactory qw(new);

  * Implement your factory.

  See _impl_ for details. Here is where you put the business logic that
  determines which provider is suitable and should be used for this
  particular call.


name: perl-Class-Trigger
arch: noarch
version: 0.15
epoch: 0
release: 1.38
summary: Mixin to add / call inheritable triggers
url: https://metacpan.org/release/Class-Trigger
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep84
rpm_sourcerpm: perl-Class-Trigger-0.15-1.38.src.rpm
location_href: noarch/perl-Class-Trigger-0.15-1.38.noarch.rpm
checksum_type: sha512
pkgId:
  b5eb41c6959a7201a5d66444e401f638d0a7f79fd3bff798e0fcceb34403dfeaceace5dd8774a65946fbf2e4761f9e460992fe26f924f437aebd5b3932ce756b

description:
  Class::Trigger is a mixin class to add / call triggers (or hooks) that get
  called at some points you specify.


name: perl-Class-Trigger
arch: src
version: 0.15
epoch: 0
release: 1.38
summary: Mixin to add / call inheritable triggers
url: https://metacpan.org/release/Class-Trigger
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep84
location_href: src/perl-Class-Trigger-0.15-1.38.src.rpm
checksum_type: sha512
pkgId:
  009b31ad1c4b06fb7627a545cdba2e6ff322c006cd7e8147aad1170273853b782f1f1feab3d5552f9be1c6488d84d3128ec41c8865550ef5474c565fedee4ecb

description:
  Class::Trigger is a mixin class to add / call triggers (or hooks) that get
  called at some points you specify.


name: perl-Class-Type-Enum
arch: noarch
version: 0.014
epoch: 0
release: 1.37
summary: Build Enum-like classes
url: https://metacpan.org/release/Class-Type-Enum
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus1
rpm_sourcerpm: perl-Class-Type-Enum-0.014-1.37.src.rpm
location_href: noarch/perl-Class-Type-Enum-0.014-1.37.noarch.rpm
checksum_type: sha512
pkgId:
  ea3949e656610e601a5913dbb4f4a162374b33b0493e7616dfc520a923fd14ab97b624799bcbe6b4daae07a4c23ffb25d6940f3fb9a19faf7713f6ebce659cb2

description:
  Class::Type::Enum is a class builder for type-like classes to represent
  your enumerated values. In particular, it was built to scratch an itch with
  DBIx::Class value inflation.

  I wouldn't consider the interface stable yet; I'd love feedback on this
  dist.

  When 'use'ing Class::Type::Enum:

    * Required:

  * values => [@symbols]

  The list of symbolic values in your enum, in ascending order if relevant.

  * values => {symbol => ordinal, ...}

  The list of symbols and ordinal values in your enum. There is no check that
  a given ordinal isn't reused.


name: perl-Class-Type-Enum
arch: src
version: 0.014
epoch: 0
release: 1.37
summary: Build Enum-like classes
url: https://metacpan.org/release/Class-Type-Enum
rpm_license: Artistic-1.0 OR GPL-1.0-or-later
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: old-cirrus1
location_href: src/perl-Class-Type-Enum-0.014-1.37.src.rpm
checksum_type: sha512
pkgId:
  b98bf3ac9739e535ee87a9854d0b52f1066862c1ea3930c159fa275fa0ccb582e6a185d316cdc40318875afa1e84699f02330c1251a672b5baad1a69a2a89831

description:
  Class::Type::Enum is a class builder for type-like classes to represent
  your enumerated values. In particular, it was built to scratch an itch with
  DBIx::Class value inflation.

  I wouldn't consider the interface stable yet; I'd love feedback on this
  dist.

  When 'use'ing Class::Type::Enum:

    * Required:

  * values => [@symbols]

  The list of symbolic values in your enum, in ascending order if relevant.

  * values => {symbol => ordinal, ...}

  The list of symbols and ordinal values in your enum. There is no check that
  a given ordinal isn't reused.


name: perl-Class-Unique
arch: noarch
version: 0.04
epoch: 0
release: 9.56
summary: Create a unique subclass for every instance
url: http://search.cpan.org/dist/Class-Unique/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb20
rpm_sourcerpm: perl-Class-Unique-0.04-9.56.src.rpm
location_href: noarch/perl-Class-Unique-0.04-9.56.noarch.rpm
checksum_type: sha512
pkgId:
  a648c9169a4c94f9458491ff8737853095ce7304bec20cab66ecdfa6cda1425c93d3bb312d4ea43c39c603ecaa78f8416b1c492becf45eaf42cacc96f98b0bc7

description:
  Class::Unique is a base class which provides a constructor and some utility
  routines for creating objects which instantiate into a unique subclass.

  If MyClass is a subclass of Class::Unique, and inherrits Class::Unique's
  constructor, then every object returned by 'MyClass->new' will be blessed
  into a dynamically created subclass of MyClass. This allows you to modify
  package data on a per-instance basis.

  Class::Prototyped provides similar functionality; use this module if you
  want per-instance subclasses but you don't need a full prototype-based OO
  framework.


name: perl-Class-Unique
arch: src
version: 0.04
epoch: 0
release: 9.56
summary: Create a unique subclass for every instance
url: http://search.cpan.org/dist/Class-Unique/
rpm_license: GPL-1.0+ or Artistic-1.0
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: lamb20
location_href: src/perl-Class-Unique-0.04-9.56.src.rpm
checksum_type: sha512
pkgId:
  f515176c0402b1089dd34b6f11db836b143c229d4f4ede1ef2cafd2ee0b72eb0245079e3de7c94a60fad24b584f89bc7eab65d9c26b9ef5e5d32287357902eb5

description:
  Class::Unique is a base class which provides a constructor and some utility
  routines for creating objects which instantiate into a unique subclass.

  If MyClass is a subclass of Class::Unique, and inherrits Class::Unique's
  constructor, then every object returned by 'MyClass->new' will be blessed
  into a dynamically created subclass of MyClass. This allows you to modify
  package data on a per-instance basis.

  Class::Prototyped provides similar functionality; use this module if you
  want per-instance subclasses but you don't need a full prototype-based OO
  framework.


name: perl-Class-Unload
arch: noarch
version: 0.11
epoch: 0
release: 1.52
summary: Unload a class
description: Unload a class
url: http://search.cpan.org/dist/Class-Unload/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: hurricane3
rpm_sourcerpm: perl-Class-Unload-0.11-1.52.src.rpm
location_href: noarch/perl-Class-Unload-0.11-1.52.noarch.rpm
checksum_type: sha512
pkgId:
  0e3f5ce04331f62b8f073cb7511a89fe291bfc772c4684e368850429700ac48720f170dac5d3ca2aae986c03181015be8a52be16354bd761baf923e528deab30


name: perl-Class-Unload
arch: src
version: 0.11
epoch: 0
release: 1.52
summary: Unload a class
description: Unload a class
url: http://search.cpan.org/dist/Class-Unload/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: hurricane3
location_href: src/perl-Class-Unload-0.11-1.52.src.rpm
checksum_type: sha512
pkgId:
  e5dbd19928e1fc7b2848a42db5a435f901874db990a2e13cacbff2b6b2a723569590ab870d9c8e88cad2c49e4a1b594eec62a86f8983be797064eadedfc7229a


name: perl-Class-Utils
arch: noarch
version: 0.14
epoch: 0
release: 1.4
summary: Class utilities
description: Class utilities.
url: https://metacpan.org/release/Class-Utils
rpm_license: BSD-3-Clause
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Unspecified
rpm_buildhost: sheep85
rpm_sourcerpm: perl-Class-Utils-0.14-1.4.src.rpm
location_href: noarch/perl-Class-Utils-0.14-1.4.noarch.rpm
checksum_type: sha512
pkgId:
  d79a0961bf1dfaa84a61dc3600468384ab51d1ad03e33ce1714a2d6a3f3dc70157140134e901f5ec3faa18d0d640cc22ce566ff45aa6e1a6a70e624a597e4b44


name: perl-Class-Utils
arch: src
version: 0.14
epoch: 0
release: 1.4
summary: Class utilities
description: Class utilities.
url: https://metacpan.org/release/Class-Utils
rpm_license: BSD-3-Clause
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Unspecified
rpm_buildhost: sheep85
location_href: src/perl-Class-Utils-0.14-1.4.src.rpm
checksum_type: sha512
pkgId:
  6d54a53343e6fee9235d380e01389fd468ed62cde8642b315604e26bdeae0cb80746263de02a84c36d4302ca9f560effd9a7c485b3edeb9152602605f3f61ad2


name: perl-Class-Validating
arch: noarch
version: 0.02
epoch: 0
release: 9.55
summary: Provide Subclass-able Validation Mechanism
url: http://search.cpan.org/dist/Class-Validating/
rpm_license: Artistic-1.0 or GPL-1.0+
rpm_vendor: obs://build.opensuse.org/devel:languages:perl
rpm_group: Development/Libraries/Perl
rpm_buildhost: sheep85
rpm_sourcerpm: perl-Class-Validating-0.02-9.55.src.rpm
location_href: noarch/perl-Class-Validating-0.02-9.55.noarch.rpm
checksum_type: sha512
pkgId:
  84f4b58738096ddfb2eae41c02362d18c4ab449edee9211a84df9592e340ae70d7a5052d525b2504244861f0cc76b9d9bb464a743a8cf3e575bbeb3bb805b7cc

description:
  Params::Validate is a great parameter validation tool, but because a lot of
  the code that utilises Params::Validate tend to be written with a lexical
  validation spec (like the code below) it was either hard or tedious to
  extend the class that uses Params::Validate.

  A typical code that uses Params::Validate might look like this:

    package MyClass;
    use strict;
    use Params::Validate qw(validate SCALAR HASHREF);

    my %FooValidate = (
      arg1 => { type => SCALAR },
      arg2 => { type => HASHREF }
    );
    sub foo
    {
       my $self = shift;
       my %args = validate(@_, \%FooValidate);
       ....
    }

  This code unfortunately doesn't allow too much flexibility for someone
  trying to write a subclass, because %FooValidate is a lexical variable and
  is not visible in the subclass.

  This module tries to solve this problem by creating a data slot via
  Class::Data::Inheritable.

  Using Class::Validating, above example now look like this:

    package MyClass;
    use strict;
    use Class::Validating;

    __PACKAGE__->set_pv_spec(foo => {
      arg1 => {type => SCALAR},
      arg2 => {type => HASHREF}
    });
    sub foo
    {
       my $self = shift;
       my %args = $self->validate_args(@_);
       ...
    }

  In your subclass, you will be able to change the validation behavior by
  calling set_pv_spec():

    package MySubclass;
    use strict;
    use base qw(MyClass);

    __PACKAGE__->set_pv_spec(foo => {
      arg1 => {type => SCALAR},
      arg2 => {type => HASHREF},
      arg3 => {type => ARRAYREF}
    });
    sub foo
    {
       my $self = shift;
       my %args = $self->validate_args(@_);
       ....
       
       
       $self->SUPER::foo(@args);
    }


