diff options
author | Jesse Luehrs <doy@tozt.net> | 2013-07-02 11:19:36 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2013-07-02 11:22:21 -0400 |
commit | e99fa320ad6c3d3aa8b3a816a1ab4034a7f37247 (patch) | |
tree | dfa9b455e3e693f542db475c68cf7d7d201e1605 /lib/Spreadsheet/Template | |
parent | ec35970711555786ce76d5d3de08fd3c61623188 (diff) | |
download | spreadsheet-template-e99fa320ad6c3d3aa8b3a816a1ab4034a7f37247.tar.gz spreadsheet-template-e99fa320ad6c3d3aa8b3a816a1ab4034a7f37247.zip |
allow passing options to the backends
Diffstat (limited to 'lib/Spreadsheet/Template')
-rw-r--r-- | lib/Spreadsheet/Template/Generator.pm | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/Spreadsheet/Template/Generator.pm b/lib/Spreadsheet/Template/Generator.pm index 655f1b0..0590eb6 100644 --- a/lib/Spreadsheet/Template/Generator.pm +++ b/lib/Spreadsheet/Template/Generator.pm @@ -4,13 +4,22 @@ use Moose; use Class::Load 'load_class'; use JSON; +has parser_options => ( + is => 'ro', + isa => 'HashRef', + default => sub { {} }, +); + sub generate { my $self = shift; my ($filename) = @_; (my $ext = $filename) =~ s/.*\.//; my $class = $self->parser_classes->{$ext}; load_class($class); - my $parser = $class->new(filename => $filename); + my $parser = $class->new( + filename => $filename, + %{ $self->parser_options } + ); my $data = $parser->parse; return JSON->new->pretty->canonical->encode($data); } |