package Catmandu::Fix::wd_simple;
#ABSTRACT: Simplify Wikidata entity records
our $VERSION = '0.06'; #VERSION
use Catmandu::Sane;
use Moo;

use Catmandu::Fix::wd_simple_strings;
use Catmandu::Fix::wd_simple_claims;
use Catmandu::Fix::wd_language as => 'wd_language';

has language => (is => 'ro', required => 0);

sub fix {
    my ($self, $data) = @_;

    wd_language($data, $self->language) if $self->language;
    Catmandu::Fix::wd_simple_strings::fix($self,$data);
    Catmandu::Fix::wd_simple_claims::fix($self,$data);

    if (my $hash = $data->{sitelinks}) {
        foreach my $lang (keys %$hash) {
            delete $hash->{$lang}->{site};
        }
    }

    $data;
}

1;

__END__

=pod

=encoding UTF-8

=head1 NAME

Catmandu::Fix::wd_simple - Simplify Wikidata entity records

=head1 VERSION

version 0.06

=head1 SYNOPSIS

    wd_simple()
    wd_simple(language:"de")

=head1 DESCRIPTION

This L<Catmandu::Fix> simplifies a Wikidata entity record by applying both
L<Catmandu::Fix::wd_simple_strings> and L<Catmandu::Fix::wd_simple_claims>. It
further simplifies sitelinks by removing redundant fields.

=head1 AUTHOR

Jakob Voß

=head1 COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Jakob Voß.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.

=cut