summaryrefslogtreecommitdiffstats
path: root/lib/Spreadsheet/Template/Generator/Parser/Excel.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Spreadsheet/Template/Generator/Parser/Excel.pm')
-rw-r--r--lib/Spreadsheet/Template/Generator/Parser/Excel.pm17
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);
}