commit 30d6de56e02a820ceec146defa8b4d8d364cb26712f1aa16874830f8302c0384 Author: Stephan Kulow Date: Thu Apr 14 07:59:04 2011 +0000 initial package OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Collection?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/Collection-0.47.tar.gz b/Collection-0.47.tar.gz new file mode 100644 index 0000000..ad67bcd --- /dev/null +++ b/Collection-0.47.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82a0b405d6adca786b521b866ad88b24cc8094cdadef799a5bdfd299c48cf75a +size 22681 diff --git a/perl-Collection.changes b/perl-Collection.changes new file mode 100644 index 0000000..6daf842 --- /dev/null +++ b/perl-Collection.changes @@ -0,0 +1,6 @@ +------------------------------------------------------------------- +Thu Apr 14 07:58:58 UTC 2011 - coolo@opensuse.org + +- initial package 0.47 + * created by cpanspec 1.78.04 + diff --git a/perl-Collection.spec b/perl-Collection.spec new file mode 100644 index 0000000..42e25c9 --- /dev/null +++ b/perl-Collection.spec @@ -0,0 +1,118 @@ +# +# spec file for package perl-Collection (Version 0.47) +# +# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +Name: perl-Collection +Version: 0.47 +Release: 1 +License: GPL+ or Artistic +%define cpan_name Collection +Summary: Collections framework for B of the data or objects. +Url: http://search.cpan.org/dist/Collection/ +Group: Development/Libraries/Perl +Source: http://www.cpan.org/authors/id/Z/ZA/ZAG/%{cpan_name}-%{version}.tar.gz +BuildArch: noarch +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: perl +BuildRequires: perl(Module::Build) +BuildRequires: perl-macros +BuildRequires: perl(Module::Build) +BuildRequires: perl(Storable) +Requires: perl(Storable) +%{perl_requires} + +%description +A collection - sometimes called a container - is simply an object that +groups multiple elements into a single unit. _Collection_ are used to +store, retrieve, manipulate, and communicate aggregate data. + +The primary advantages of a _Collection_ framework are that it reduces +programming effort by providing useful data structures and algorithms so +you don't have to write them yourself. + +The _Collection_ framework consists of: + +* * Wrapper Implementations - Add functionality, such as mirroring and lazy + load, to other implementations. + +* * Algorithms - methods that perform useful functions, such as caching. + +This module has a task - to be a base class for ather Collections. You can +inherit the methods *_create*, *_delete*, *_fetch*, *_store* and may be +*_prepare_record* for new source of data. As you see this is similar to +*CRUD* (Create - Read - Update- Delete). + +Sample: + + my $col = new MyCollection:: ; + #fetch objects or data by keys + my $data = $col->fetch(1,2,3,4,5); + #do something + foreach my $item ( values %$data) { + $_->attr->{inc} ++ + } + #You can use "lazy" functionality + my $not_actualy_fetch = $col->get_lazy(6,7,8,9); + #store changed data or objects + $col->store; + #free memory + $col->release; + +Sample from the Collection::AutoSQL manpage: + + my $beers = new Collection::AutoSQL:: + dbh => $dbh, #database connect + table => 'beers', #table name + field => 'bid', #key field (IDs), usually primary,autoincrement + cut_key => 1; #delete field 'bid' from readed records, + + my $heineken = $beers->fetch_one(1); + #SELECT * FROM beers WHERE bid in (1) + +Sample from the Collection::Memcached manpage: + + use Collection::Memcached; + use Cache::Memcached; + $memd = new Cache::Memcached { + 'servers' => [ "127.0.0.1:11211" ], + 'debug' => 0, + 'compress_threshold' => 10_000, + }; + my $collection = new Collection::Memcached:: $memd; + my $collection_prefix = new Collection::Memcached:: $memd, 'prefix'; + +%prep +%setup -q -n %{cpan_name}-%{version} + +%build +%{__perl} Build.PL installdirs=vendor +./Build build flags=%{?_smp_mflags} + +%check +./Build test + +%install +./Build install destdir=%{buildroot} create_packlist=0 +%perl_gen_filelist + +%clean +%{__rm} -rf %{buildroot} + +%files -f %{name}.files +%defattr(-,root,root,755) +%doc %attr(644,-,-) Changes README scripts + +%changelog