1 package System::Introspector::Report::Publish::MediaWiki::Page;
4 use aliased 'System::Introspector::Report::Publish::MediaWiki::Parser';
5 use aliased 'System::Introspector::Report::Publish::MediaWiki::Producer';
6 use aliased 'System::Introspector::Report::Updater';
8 has name => (is => 'ro', required => 1);
9 has timestamp => (is => 'ro', required => 1);
10 has content => (is => 'rwp', required => 1);
12 my $_producer = Producer->new;
13 my $_parser = Parser->new;
14 my $_updater = Updater->new;
17 my ($self, $update_stream) = @_;
18 my $original_stream = $_parser->parse($self->content);
19 my $merged_stream = $_updater->merge($original_stream, $update_stream);
20 $self->_set_content($_producer->render($merged_stream));