Catalyst-View-Spreadsheet-Template

 view release on metacpan or  search on metacpan

lib/Catalyst/View/Spreadsheet/Template.pm  view on Meta::CPAN

package Catalyst::View::Spreadsheet::Template;
BEGIN {
  $Catalyst::View::Spreadsheet::Template::AUTHORITY = 'cpan:DOY';
}
{
  $Catalyst::View::Spreadsheet::Template::VERSION = '0.02';
}
use Moose;
use namespace::autoclean;
# ABSTRACT: render Spreadsheet::Template templates in Catalyst

use Path::Class;
use Try::Tiny;

use Spreadsheet::Template;

extends 'Catalyst::View';



has path => (
    traits    => ['Array'],
    isa       => 'ArrayRef[Path::Class::Dir]',
    writer    => 'set_path',
    predicate => 'has_path',
    handles   => {
        path => 'elements',
    },
);


has processor_class => (
    is      => 'ro',
    isa     => 'Str',
    default => 'Spreadsheet::Template::Processor::Xslate',
);


has writer_class => (
    is      => 'ro',
    isa     => 'Str',
    default => 'Spreadsheet::Template::Writer::XLSX',
);


has template_extension => (
    is      => 'ro',
    isa     => 'Str',
    default => 'json',
);


has catalyst_var => (
    is      => 'ro',
    isa     => 'Str',
    default => 'c',
);

has renderer => (
    is  => 'rw',
    isa => 'Spreadsheet::Template',
);

sub ACCEPT_CONTEXT {
    my $self = shift;
    my ($c) = @_;

    $self->renderer(
        Spreadsheet::Template->new(
            processor_class => $self->processor_class,
            writer_class    => $self->writer_class,
        )
    );



( run in 4.229 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )