[libcatmandu-perl] 36/46: Adding POD for conditional
Jonas Smedegaard
dr at jones.dk
Tue Oct 14 13:52:54 UTC 2014
This is an automated email from the git hooks/post-receive script.
js pushed a commit to tag 0.9205
in repository libcatmandu-perl.
commit a936da2f642f2f9755888d585b4a2cd3cb6180b5
Author: Patrick Hochstenbach <patrick.hochstenbach at ugent.be>
Date: Thu Oct 2 16:11:59 2014 +0200
Adding POD for conditional
---
lib/Catmandu/Addable.pm | 92 ++++++++++++++++++++---------------------
lib/Catmandu/Buffer.pm | 58 +++++++++++++-------------
lib/Catmandu/Counter.pm | 37 +++++++++--------
lib/Catmandu/Fix/Condition.pm | 27 ++++++++++++
lib/Catmandu/Fix/reject.pm | 20 ++++-----
lib/Catmandu/Iterator.pm | 34 +++++++--------
lib/Catmandu/Serializer/json.pm | 24 +++++------
7 files changed, 160 insertions(+), 132 deletions(-)
diff --git a/lib/Catmandu/Addable.pm b/lib/Catmandu/Addable.pm
index 5bcde6a..5e332aa 100644
--- a/lib/Catmandu/Addable.pm
+++ b/lib/Catmandu/Addable.pm
@@ -1,51 +1,5 @@
package Catmandu::Addable;
-use namespace::clean;
-use Catmandu::Sane;
-use Catmandu::Util qw(:is :check);
-use Moo::Role;
-
-with 'Catmandu::Fixable';
-
-requires 'add';
-
-around add => sub {
- my ($orig, $self, $data) = @_;
- $data = $self->_fixer->fix($data) if $self->_fixer;
- $orig->($self, $data);
- $data;
-};
-
-sub add_many {
- my ($self, $many) = @_;
-
- if (is_hash_ref($many)) {
- $self->add($many);
- return 1;
- }
-
- if (is_array_ref($many)) {
- $self->add($_) for @$many;
- return scalar @$many;
- }
-
- if (is_invocant($many)) {
- $many = check_able($many, 'generator')->generator;
- }
-
- check_code_ref($many);
-
- my $data;
- my $n = 0;
- while (defined($data = $many->())) {
- $self->add($data);
- $n++;
- }
- $n;
-}
-
-sub commit {}
-
=head1 NAME
Catmandu::Addable - Base class for all Catmandu modules need to implement add
@@ -110,4 +64,50 @@ L<Catmandu::Fixable>, L<Catmandu::Exporter> , L<Catmandu::Store>
=cut
+use namespace::clean;
+use Catmandu::Sane;
+use Catmandu::Util qw(:is :check);
+use Moo::Role;
+
+with 'Catmandu::Fixable';
+
+requires 'add';
+
+around add => sub {
+ my ($orig, $self, $data) = @_;
+ $data = $self->_fixer->fix($data) if $self->_fixer;
+ $orig->($self, $data);
+ $data;
+};
+
+sub add_many {
+ my ($self, $many) = @_;
+
+ if (is_hash_ref($many)) {
+ $self->add($many);
+ return 1;
+ }
+
+ if (is_array_ref($many)) {
+ $self->add($_) for @$many;
+ return scalar @$many;
+ }
+
+ if (is_invocant($many)) {
+ $many = check_able($many, 'generator')->generator;
+ }
+
+ check_code_ref($many);
+
+ my $data;
+ my $n = 0;
+ while (defined($data = $many->())) {
+ $self->add($data);
+ $n++;
+ }
+ $n;
+}
+
+sub commit {}
+
1;
diff --git a/lib/Catmandu/Buffer.pm b/lib/Catmandu/Buffer.pm
index b635871..9e33dd5 100644
--- a/lib/Catmandu/Buffer.pm
+++ b/lib/Catmandu/Buffer.pm
@@ -1,32 +1,5 @@
package Catmandu::Buffer;
-use namespace::clean;
-use Catmandu::Sane;
-use Moo::Role;
-
-has buffer_size => (is => 'ro', lazy => 1, builder => 'default_buffer_size');
-has buffer => (is => 'rwp', lazy => 1, default => sub { [] });
-
-sub default_buffer_size { 100 }
-
-sub clear_buffer {
- $_[0]->_set_buffer([]);
-}
-
-sub buffer_used {
- scalar @{$_[0]->buffer};
-}
-
-sub buffer_is_full {
- my $self = $_[0];
- $self->buffer_used >= $self->buffer_size ? 1 : 0;
-}
-
-sub buffer_add {
- my $buffer = shift->buffer;
- push @$buffer, @_;
-}
-
=head1 NAME
Catmandu::Buffer - A base class for modules that need an array buffer
@@ -44,9 +17,9 @@ Catmandu::Buffer - A base class for modules that need an array buffer
my ($self,$str) = @_;
if ($self->buffer_is_full) {
- print join "\n" , @{ $self->buffer };
+ print join "\n" , @{ $self->buffer };
- $self->clear_buffer;
+ $self->clear_buffer;
}
$self->buffer_add($str);
@@ -94,4 +67,31 @@ L<Catmandu::Solr::Bag>
=cut
+use namespace::clean;
+use Catmandu::Sane;
+use Moo::Role;
+
+has buffer_size => (is => 'ro', lazy => 1, builder => 'default_buffer_size');
+has buffer => (is => 'rwp', lazy => 1, default => sub { [] });
+
+sub default_buffer_size { 100 }
+
+sub clear_buffer {
+ $_[0]->_set_buffer([]);
+}
+
+sub buffer_used {
+ scalar @{$_[0]->buffer};
+}
+
+sub buffer_is_full {
+ my $self = $_[0];
+ $self->buffer_used >= $self->buffer_size ? 1 : 0;
+}
+
+sub buffer_add {
+ my $buffer = shift->buffer;
+ push @$buffer, @_;
+}
+
1;
diff --git a/lib/Catmandu/Counter.pm b/lib/Catmandu/Counter.pm
index b42a4a1..b0e1d47 100644
--- a/lib/Catmandu/Counter.pm
+++ b/lib/Catmandu/Counter.pm
@@ -1,23 +1,5 @@
package Catmandu::Counter;
-use namespace::clean;
-use Catmandu::Sane;
-use Moo::Role;
-
-has count => (is => 'rwp', default => sub { 0 });
-
-sub inc_count {
- my $self = $_[0]; $self->_set_count($self->count + 1);
-}
-
-sub dec_count {
- my $self = $_[0]; $self->count ? $self->_set_count($self->count - 1) : 0;
-}
-
-sub reset_count {
- my $self = $_[0]; $self->_set_count(0);
-}
-
=head1 NAME
Catmandu::Counter - A Base class for modules who need to count things
@@ -75,4 +57,23 @@ Reset the counter to zero.
L<Catmandu::Exporter>
=cut
+
+use namespace::clean;
+use Catmandu::Sane;
+use Moo::Role;
+
+has count => (is => 'rwp', default => sub { 0 });
+
+sub inc_count {
+ my $self = $_[0]; $self->_set_count($self->count + 1);
+}
+
+sub dec_count {
+ my $self = $_[0]; $self->count ? $self->_set_count($self->count - 1) : 0;
+}
+
+sub reset_count {
+ my $self = $_[0]; $self->_set_count(0);
+}
+
1;
diff --git a/lib/Catmandu/Fix/Condition.pm b/lib/Catmandu/Fix/Condition.pm
index 8eb580f..355e7bd 100644
--- a/lib/Catmandu/Fix/Condition.pm
+++ b/lib/Catmandu/Fix/Condition.pm
@@ -1,5 +1,32 @@
package Catmandu::Fix::Condition;
+=head1 NAME
+
+Catmandu::Fix::Condition - Role for all Catmandu::Fix conditionals
+
+=head1 SYNOPSIS
+
+ if <Catmandu::Fix::Condition instance>
+ <pass_fixes>
+ else
+ <fail_fixes>
+ end
+
+=head1 DESCRIPTION
+
+All Catmandu::Fix conditional need to implement Catmandu::Fix::Condition which provides
+a list of fixes that need to be executed when a conditional matches (pass_fixes) and
+conditional that need to be executed when a conditional fails (fail_fixes).
+
+=head1 SEE ALSO
+
+L<Catmandu::Fix>,
+L<Catmandu::Fix::Condition::all_match>,
+L<Catmandu::Fix::Condition::any_match>,
+L<Catmandu::Fix::Condition::exists>,
+
+=cut
+
use Catmandu::Sane;
use Moo::Role;
diff --git a/lib/Catmandu/Fix/reject.pm b/lib/Catmandu/Fix/reject.pm
index adc7db3..b948fec 100644
--- a/lib/Catmandu/Fix/reject.pm
+++ b/lib/Catmandu/Fix/reject.pm
@@ -1,15 +1,5 @@
package Catmandu::Fix::reject;
-use Catmandu::Sane;
-use Moo;
-
-with 'Catmandu::Fix::Base';
-
-sub emit {
- my ($self, $fixer) = @_;
- $fixer->emit_reject;
-}
-
=head1 NAME
Catmandu::Fix::reject - remove a record form the data
@@ -40,5 +30,15 @@ L<Catmandu::Fix>
=cut
+use Catmandu::Sane;
+use Moo;
+
+with 'Catmandu::Fix::Base';
+
+sub emit {
+ my ($self, $fixer) = @_;
+ $fixer->emit_reject;
+}
+
1;
diff --git a/lib/Catmandu/Iterator.pm b/lib/Catmandu/Iterator.pm
index 04a1029..41affa7 100644
--- a/lib/Catmandu/Iterator.pm
+++ b/lib/Catmandu/Iterator.pm
@@ -1,19 +1,5 @@
package Catmandu::Iterator;
-use namespace::clean;
-use Catmandu::Sane;
-use Role::Tiny::With;
-
-with 'Catmandu::Iterable';
-
-sub new {
- bless $_[1], $_[0];
-}
-
-sub generator {
- goto &{$_[0]};
-}
-
=head1 NAME
Catmandu::Iterator - Base class for all Catmandu iterators
@@ -30,7 +16,7 @@ Catmandu::Iterator - Base class for all Catmandu iterators
sub {
# Generator some random data
+{ random => rand };
- }
+ }
}
package main;
@@ -40,9 +26,9 @@ Catmandu::Iterator - Base class for all Catmandu iterators
my first = $it->first;
$it->each(sub {
- my $item = shift;
+ my $item = shift;
- print $item->{random} , "\n";
+ print $item->{random} , "\n";
});
my $it2 = $it->map(sub { shift->{random} * 2 });
@@ -63,4 +49,18 @@ L<Catmandu::Iterable>
=cut
+use namespace::clean;
+use Catmandu::Sane;
+use Role::Tiny::With;
+
+with 'Catmandu::Iterable';
+
+sub new {
+ bless $_[1], $_[0];
+}
+
+sub generator {
+ goto &{$_[0]};
+}
+
1;
diff --git a/lib/Catmandu/Serializer/json.pm b/lib/Catmandu/Serializer/json.pm
index bc1f653..383cb31 100644
--- a/lib/Catmandu/Serializer/json.pm
+++ b/lib/Catmandu/Serializer/json.pm
@@ -1,17 +1,5 @@
package Catmandu::Serializer::json;
-use Catmandu::Sane;
-use JSON ();
-use Moo;
-
-sub serialize {
- JSON::encode_json($_[1]);
-}
-
-sub deserialize {
- JSON::decode_json($_[1]);
-}
-
=head1 NAME
Catmandu::Serializer - A (de)serializer from and to json
@@ -40,4 +28,16 @@ L<Catmandu::Serializer>
=cut
+use Catmandu::Sane;
+use JSON ();
+use Moo;
+
+sub serialize {
+ JSON::encode_json($_[1]);
+}
+
+sub deserialize {
+ JSON::decode_json($_[1]);
+}
+
1;
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libcatmandu-perl.git
More information about the Pkg-perl-cvs-commits
mailing list