X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FExcel%2FTemplate%2FBase.pm;h=32e723690b98deaf58db7d1ab82d3cbe5e589753;hb=HEAD;hp=082c2f03efc4d69d109cca42dba32dfee2efc0b7;hpb=6dd4c89d686d215eb0de41e8a2f7805bfc7eb188;p=p5sagit%2FExcel-Template.git diff --git a/lib/Excel/Template/Base.pm b/lib/Excel/Template/Base.pm index 082c2f0..32e7236 100644 --- a/lib/Excel/Template/Base.pm +++ b/lib/Excel/Template/Base.pm @@ -2,39 +2,36 @@ package Excel::Template::Base; use strict; -BEGIN { -} - use Excel::Template::Factory; sub new { my $class = shift; - - push @_, %{shift @_} while UNIVERSAL::isa($_[0], 'HASH'); - (@_ % 2) + + push @_, %{shift @_} while ref $_[0] eq 'HASH'; + (@_ % 2) and die "$class->new() called with odd number of option parameters\n"; - + my %x = @_; - + # Do not use a hashref-slice here because of the uppercase'ing my $self = {}; $self->{uc $_} = $x{$_} for keys %x; - + bless $self, $class; } - -sub isa { Excel::Template::Factory::isa(@_) } -sub is_embedded { Excel::Template::Factory::is_embedded(@_) } -sub calculate { ($_[1])->get(@_[0,2]) } +*isa = *isa = \&Excel::Template::Factory::isa; +*is_embedded = *is_embedded = \&Excel::Template::Factory::is_embedded; + +#sub calculate { ($_[1])->get(@_[0,2]) } #{ # my $self = shift; # my ($context, $attr) = @_; # # return $context->get($self, $attr); #} - + sub enter_scope { ($_[1])->enter_scope($_[0]) } #{ # my $self = shift; @@ -42,38 +39,41 @@ sub enter_scope { ($_[1])->enter_scope($_[0]) } # # return $context->enter_scope($self); #} - -sub exit_scope { ($_[1])->exit_scope(@_[0, 2]) } + +sub exit_scope { ($_[1])->exit_scope($_[0], $_[2]) } #{ # my $self = shift; # my ($context, $no_delta) = @_; # # return $context->exit_scope($self, $no_delta); #} - + sub deltas { # my $self = shift; # my ($context) = @_; - + return {}; } - -sub resolve -{ + +# Everyone seems to have their own versions. +# Maybe, it's part of the API to require that you have the right one of these +# defined? +#sub resolve +#{ # my $self = shift; # my ($context) = @_; - - ''; -} - -sub render -{ +# +# ''; +#} +# +#sub render +#{ # my $self = shift; # my ($context) = @_; - - 1; -} +# +# 1; +#} 1; __END__ @@ -112,7 +112,17 @@ None =head1 METHODS -None +=head2 calculate + +This is a wrapper around Excel::Template::Context->get() + +=head2 isa + +This is a wrapper around Excel::Template::Factory->isa() + +=head2 is_embedded + +This is a wrapper around Excel::Template::Factory->is_embedded() =head1 AUTHOR