From f4c31024fc3dd0210ce8821e8b63d9f411828c3f Mon Sep 17 00:00:00 2001 From: dakkar Date: Sun, 9 Dec 2012 13:45:17 +0000 Subject: de-duping --- lib/Feed.pm | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'lib/Feed.pm') 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; -- cgit v1.2.3