summaryrefslogtreecommitdiff
path: root/lib/Feed.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Feed.pm')
-rw-r--r--lib/Feed.pm24
1 files changed, 22 insertions, 2 deletions
diff --git a/lib/Feed.pm b/lib/Feed.pm
index d1bb7df..fbcdf10 100644
--- a/lib/Feed.pm
+++ b/lib/Feed.pm
@@ -5,6 +5,14 @@ use 5.016;
use MooseX::Types::URI 'Uri';
with 'MooseX::Traits';
use XML::Feed;
+use Log::Log4perl;
+
+sub log {
+ my ($self) = @_;
+
+ my $caller = caller();
+ return Log::Log4perl->get_logger($caller)
+}
has '+_trait_namespace' => ( default => __PACKAGE__ );
@@ -19,6 +27,7 @@ has feed => (
is => 'ro',
isa => 'XML::Feed',
lazy_build => 1,
+ builder => 'get_feed',
);
has _entries => (
@@ -26,6 +35,7 @@ has _entries => (
isa => 'ArrayRef[XML::Feed::Entry]',
traits => [ 'Array' ],
lazy_build => 1,
+ builder => 'extract_entries',
handles => {
entries => 'elements',
count_entries => 'count',
@@ -35,28 +45,38 @@ has _entries => (
sub process {
my ($self) = @_;
+ $self->log->trace('process - begin');
+
for my $entry ($self->entries) {
$self->process_entry($entry);
}
+ $self->log->trace('process - end');
+
return;
}
-sub _build_feed {
+sub get_feed {
my ($self) = @_;
+ $self->log->trace('get_feed');
+
return XML::Feed->parse($self->uri)
or die XML::Feed->errstr;
}
-sub _build__entries {
+sub extract_entries {
my ($self) = @_;
+ $self->log->trace('extract_entries');
return [$self->feed->entries];
}
sub process_entry {
+ my ($self) = @_;
+
+ $self->log->trace('process_entry - stub');
}
__PACKAGE__->meta->make_immutable;