package BookPub::RDAS::Parser::ProductPrice::Apple::Item::Metadata;

use lib '/app/tools/rdas/lib';
use base 'RDAS::Parser::Item';

use Data::Dumper;

sub value {
    my $self = shift;
    my $data = $self->_searchTable() || return;

    $data =~ s/^\s+//;
    $data =~ s/\s+$//;
    return $data;
}

sub _searchTable {
    my $self  = shift;
    my $token = $self->token();

    return unless ($token);

    my @rows = $token->find('tr');
    return unless (@rows);

    foreach my $row (@rows) {
        my ( $label, $value ) = $row->find('td');
        next unless ( $label && $label->as_text && $value );

        Log->debug( "Text: " . $label->as_text . " =~ /" . $self->label . "/" )
          if ( $label->as_text );

        my $pattern = $self->label();

        if ( $label->as_text =~ /$pattern/ ) {
            return unless ($value);
            my $v = $value->as_text || return;
            $pattern = $self->pattern();

            return $v unless ($pattern);

            Log->debug("Pattern Match: '$v' =~ /$pattern/");
            return $v if ( $v =~ /$pattern/ );
            return;
        }
    }

    return;
}

sub label   { die "must be overloaded" }
sub pattern { }

1;
