comparison Lib/IMPL/Web/Application/Resource.pm @ 248:814d755e5d12

Minor fixes
author sergey
date Tue, 06 Nov 2012 00:58:15 +0400
parents 7c517134c42f
children 827cf96faa1c
comparison
equal deleted inserted replaced
247:2270de2469ff 248:814d755e5d12
67 my ($info,$childIdParts) = $this->contract->FindChildResourceInfo($childId); 67 my ($info,$childIdParts) = $this->contract->FindChildResourceInfo($childId);
68 68
69 die NotFoundException->new($this->location->url,$childId) unless $info; 69 die NotFoundException->new($this->location->url,$childId) unless $info;
70 70
71 my $binding = $info->{binding}; 71 my $binding = $info->{binding};
72 my $contract = $info->{contract} 72 my $contract = $info->{contract};
73 or die OperationException->new("Can't fetch a contract for the resource", $childId); 73
74 if (ref $contract eq 'CODE') {
75 $contract = $contract->();
76 $info->{contract} = $contract;
77 }
78
79 die OperationException->new("Can't fetch a contract for the resource", $childId)
80 unless $contract;
74 81
75 my %args = ( 82 my %args = (
76 parent => $this, 83 parent => $this,
77 id => $childId 84 id => $childId
78 ); 85 );
150 157
151 =head1 MEMBERS 158 =head1 MEMBERS
152 159
153 =head2 C<[get]contract> 160 =head2 C<[get]contract>
154 161
155 Обязательное свойство для ресурса, ссылается, на контракт, соотсетствующий 162 Обязательное свойство для ресурса, ссылается, на контракт, соответствующий
156 данному ресурсу, используется для выполнения C<HTTP> методов и получения 163 данному ресурсу, используется для выполнения C<HTTP> методов и получения
157 дочерних ресурсов. 164 дочерних ресурсов.
158 165
159 =head2 C<[get]id> 166 =head2 C<[get]id>
160 167