summaryrefslogtreecommitdiff
path: root/lib/HomePanel/Driver.pm
diff options
context:
space:
mode:
authorGianni Ceccarelli <dakkar@thenautilus.net>2013-12-03 14:42:07 +0000
committerGianni Ceccarelli <dakkar@thenautilus.net>2013-12-03 14:42:07 +0000
commitd382955cb3ade340fa9e667ade8db7ddabadd2c0 (patch)
tree1d33d22447533a9b647fcc51ee0f956e5fb1171a /lib/HomePanel/Driver.pm
parenttrying to remove leaks (diff)
downloadHomePanel-d382955cb3ade340fa9e667ade8db7ddabadd2c0.tar.gz
HomePanel-d382955cb3ade340fa9e667ade8db7ddabadd2c0.tar.bz2
HomePanel-d382955cb3ade340fa9e667ade8db7ddabadd2c0.zip
only load the template once
Diffstat (limited to 'lib/HomePanel/Driver.pm')
-rw-r--r--lib/HomePanel/Driver.pm13
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/HomePanel/Driver.pm b/lib/HomePanel/Driver.pm
index c196486..749a958 100644
--- a/lib/HomePanel/Driver.pm
+++ b/lib/HomePanel/Driver.pm
@@ -158,16 +158,23 @@ has output_file => (
coerce => AbsPath->coercion,
required => 1,
);
+has render => (
+ is => 'lazy',
+);
+sub _build_render {
+ return HomePanel::Render->new({
+ template_file => $_[0]->template_file,
+ });
+}
sub write_page {
my ($self) = @_;
- my $output = HomePanel::Render->new({
- template_file => $self->template_file,
+ my $output = $self->render->render({
forecast => $self->forecast_response,
bus => $self->bus_response,
tube => $self->tube_response,
- })->render;
+ });
$self->output_file->spew_utf8($output);