diff options
Diffstat (limited to 'lib/Spreadsheet/Template/Generator/Parser/Excel.pm')
-rw-r--r-- | lib/Spreadsheet/Template/Generator/Parser/Excel.pm | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/Spreadsheet/Template/Generator/Parser/Excel.pm b/lib/Spreadsheet/Template/Generator/Parser/Excel.pm index f69c368..c9a128a 100644 --- a/lib/Spreadsheet/Template/Generator/Parser/Excel.pm +++ b/lib/Spreadsheet/Template/Generator/Parser/Excel.pm @@ -3,25 +3,28 @@ use Moose::Role; with 'Spreadsheet::Template::Generator::Parser'; -requires 'make_excel'; +requires '_build_excel'; + +has excel => ( + is => 'ro', + isa => 'Object', + lazy => 1, + builder => '_build_excel', +); sub parse { my $self = shift; - my ($filename) = @_; - - my $excel = $self->make_excel($filename); - return $self->_parse_workbook($excel); + return $self->_parse_workbook; } sub _parse_workbook { my $self = shift; - my ($excel) = @_; my $data = { worksheets => [], }; - for my $sheet ($excel->worksheets) { + for my $sheet ($self->excel->worksheets) { push @{ $data->{worksheets} }, $self->_parse_worksheet($sheet); } |