NAME
Toolforge::MixNMatch::Diff - Mix'n'match catalogs diff.
SYNOPSIS
use Toolforge::MixNMatch::Diff;
my $diff_cat = Toolforge::MixNMatch::Diff::diff($cat1, $cat2, $warn);
SUBRUTINES
diff
my $diff_cat = Toolforge::MixNMatch::Diff::diff($cat1, $cat2, $warn);
Creates diff between two catalogs. $warn
is boolean variable which turn on/off warnings (default is off).
Returns instance of Toolforge::MixNMatch::Object::Catalog.
ERRORS
diff():
Something wrong with uids in catalogs.
EXAMPLE
use strict;
use warnings;
use Toolforge::MixNMatch::Diff;
use Toolforge::MixNMatch::Object::Catalog;
use Toolforge::MixNMatch::Object::User;
use Toolforge::MixNMatch::Object::YearMonth;
use Toolforge::MixNMatch::Print::Catalog;
# Catalogs.
my $cat1 = Toolforge::MixNMatch::Object::Catalog->new(
'count' => 10,
'type' => 'Q5',
'users' => [
Toolforge::MixNMatch::Object::User->new(
'count' => 2,
'uid' => 1,
'username' => 'Skim',
),
Toolforge::MixNMatch::Object::User->new(
'count' => 1,
'uid' => 2,
'username' => 'Foo',
),
],
'year_months' => [
Toolforge::MixNMatch::Object::YearMonth->new(
'count' => 3,
'month' => 9,
'year' => 2020,
),
],
);
my $cat2 = Toolforge::MixNMatch::Object::Catalog->new(
'count' => 10,
'type' => 'Q5',
'users' => [
Toolforge::MixNMatch::Object::User->new(
'count' => 3,
'uid' => 1,
'username' => 'Skim',
),
Toolforge::MixNMatch::Object::User->new(
'count' => 2,
'uid' => 2,
'username' => 'Foo',
),
],
'year_months' => [
Toolforge::MixNMatch::Object::YearMonth->new(
'count' => 3,
'month' => 9,
'year' => 2020,
),
Toolforge::MixNMatch::Object::YearMonth->new(
'count' => 2,
'month' => 10,
'year' => 2020,
),
],
);
my $diff_cat = Toolforge::MixNMatch::Diff::diff($cat1, $cat2);
# Print out.
print "Catalog #1:\n";
print Toolforge::MixNMatch::Print::Catalog::print($cat1)."\n\n";
print "Catalog #2:\n";
print Toolforge::MixNMatch::Print::Catalog::print($cat2)."\n\n";
print "Diff catalog:\n";
print Toolforge::MixNMatch::Print::Catalog::print($diff_cat)."\n";
# Output:
# Catalog #1:
# Type: Q5
# Count: 10
# Year/months:
# 2020/9: 3
# Users:
# Skim (1): 2
# Foo (2): 1
#
# Catalog #2:
# Type: Q5
# Count: 10
# Year/months:
# 2020/9: 3
# 2020/10: 2
# Users:
# Skim (1): 3
# Foo (2): 2
#
# Diff catalog:
# Type: Q5
# Count: 10
# Year/months:
# 2020/10: 2
# Users:
# Foo (2): 1
# Skim (1): 1
DEPENDENCIES
Error::Pure, Toolforge::MixNMatch::Object::Catalog, Toolforge::MixNMatch::Object::User, Toolforge::MixNMatch::Object::YearMonth.
REPOSITORY
https://github.com/michal-josef-spacek/Toolforge-MixNMatch-Diff
AUTHOR
Michal Josef Špaček mailto:skim@cpan.org
LICENSE AND COPYRIGHT
© Michal Josef Špaček 2020
BSD 2-Clause License
VERSION
0.04