Mercurial > pub > Impl
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 |