Mercurial > pub > Impl
comparison Lib/IMPL/Web/View/TTControl.pm @ 334:71221d79e6b4
removing web resources contracts
author | cin |
---|---|
date | Thu, 13 Jun 2013 02:24:57 +0400 |
parents | 109f28643025 |
children | 1090c1dd7429 |
comparison
equal
deleted
inserted
replaced
333:cd6409f66a5f | 334:71221d79e6b4 |
---|---|
1 package IMPL::Web::View::TTControl; | 1 package IMPL::Web::View::TTControl; |
2 use strict; | 2 use strict; |
3 | 3 |
4 use IMPL::Const qw(:prop); | 4 use IMPL::Const qw(:prop); |
5 use IMPL::lang qw(:hash); | 5 use IMPL::lang qw(:hash :base); |
6 use Scalar::Util qw(blessed reftype); | 6 use Scalar::Util qw(blessed reftype); |
7 use IMPL::declare { | 7 use IMPL::declare { |
8 require => { | 8 require => { |
9 TemplateDocument => 'Template::Document', | 9 TemplateDocument => 'Template::Document', |
10 TTContext => 'Template::Context', | 10 TTContext => 'Template::Context', |
31 } | 31 } |
32 } | 32 } |
33 | 33 |
34 our $AUTOLOAD_REGEX = qr/^[a-z]/; | 34 our $AUTOLOAD_REGEX = qr/^[a-z]/; |
35 | 35 |
36 my %mapSkipAttributes = map { $_, 1 } qw(attributes context); | |
37 | |
36 sub CTOR { | 38 sub CTOR { |
37 my ($this,$template,$context,$attrs) = @_; | 39 my ($this,$template,$context,$attrs) = @_; |
38 | 40 |
39 | 41 |
40 $this->template( $template ) or die new IMPL::ArgumentException("A template is required"); | 42 $this->template( $template ) or die new IMPL::ArgumentException("A template is required"); |
41 $this->context( $context ) or die new IMPL::ArgumentException("A context is required"); | 43 |
44 die IMPL::ArgumentException->new(context => "A context is required, supplied: $context") | |
45 unless is($context,TTContext); | |
46 | |
47 $this->context( $context ); | |
42 | 48 |
43 $this->attributes({}); | 49 $this->attributes({}); |
44 | 50 |
45 if(ref($attrs) eq 'HASH') { | 51 if(ref($attrs) eq 'HASH') { |
46 while (my($key,$value) = each %$attrs) { | 52 while (my($key,$value) = each %$attrs) { |
53 next if $mapSkipAttributes{$key}; | |
47 $this->SetAttribute($key,$value); | 54 $this->SetAttribute($key,$value); |
48 } | 55 } |
49 } | 56 } |
50 | 57 |
51 $this->id(_GetNextId()) unless $this->id; | 58 $this->id(_GetNextId()) unless $this->id; |