Intermediate commit - just have to add/fix POD for two classes, then done
[p5sagit/Excel-Template.git] / lib / Excel / Template / Base.pm
CommitLineData
d0eafc11 1package Excel::Template::Base;
2
3use strict;
4
5BEGIN {
6}
7
8use Excel::Template::Factory;
9
10sub new
11{
12 my $class = shift;
13
14 push @_, %{shift @_} while UNIVERSAL::isa($_[0], 'HASH');
15 (@_ % 2)
16 and die "$class->new() called with odd number of option parameters\n";
17
18 my %x = @_;
19
20 # Do not use a hashref-slice here because of the uppercase'ing
21 my $self = {};
22 $self->{uc $_} = $x{$_} for keys %x;
23
24 bless $self, $class;
25}
26
27sub isa { Excel::Template::Factory::isa(@_) }
37513eae 28sub is_embedded { Excel::Template::Factory::is_embedded(@_) }
d0eafc11 29
30sub calculate { ($_[1])->get(@_[0,2]) }
31#{
32# my $self = shift;
33# my ($context, $attr) = @_;
34#
35# return $context->get($self, $attr);
36#}
37
38sub enter_scope { ($_[1])->enter_scope($_[0]) }
39#{
40# my $self = shift;
41# my ($context) = @_;
42#
43# return $context->enter_scope($self);
44#}
45
46sub exit_scope { ($_[1])->exit_scope(@_[0, 2]) }
47#{
48# my $self = shift;
49# my ($context, $no_delta) = @_;
50#
51# return $context->exit_scope($self, $no_delta);
52#}
53
54sub deltas
55{
56# my $self = shift;
57# my ($context) = @_;
58
59 return {};
60}
61
62sub resolve
63{
64# my $self = shift;
65# my ($context) = @_;
66
67 '';
68}
69
70sub render
71{
72# my $self = shift;
73# my ($context) = @_;
74
75 1;
76}
77
781;
79__END__
6dd4c89d 80
81=head1 NAME
82
83Excel::Template::Base - Excel::Template::Base
84
85=head1 PURPOSE
86
87Base class for all Excel::Template classes
88
89=head1 NODE NAME
90
91None
92
93=head1 INHERITANCE
94
95None
96
97=head1 ATTRIBUTES
98
99None
100
101=head1 CHILDREN
102
103None
104
105=head1 EFFECTS
106
107None
108
109=head1 DEPENDENCIES
110
111None
112
113=head1 METHODS
114
115None
116
117=head1 AUTHOR
118
119Rob Kinyon (rob.kinyon@gmail.com)
120
121=head1 SEE ALSO
122
123=cut