Mercurial > pub > Impl
diff 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 |
line wrap: on
line diff
--- a/Lib/IMPL/Web/Application/Resource.pm Wed Oct 31 04:18:35 2012 +0400 +++ b/Lib/IMPL/Web/Application/Resource.pm Tue Nov 06 00:58:15 2012 +0400 @@ -69,8 +69,15 @@ die NotFoundException->new($this->location->url,$childId) unless $info; my $binding = $info->{binding}; - my $contract = $info->{contract} - or die OperationException->new("Can't fetch a contract for the resource", $childId); + my $contract = $info->{contract}; + + if (ref $contract eq 'CODE') { + $contract = $contract->(); + $info->{contract} = $contract; + } + + die OperationException->new("Can't fetch a contract for the resource", $childId) + unless $contract; my %args = ( parent => $this, @@ -152,7 +159,7 @@ =head2 C<[get]contract> -Обязательное свойство для ресурса, ссылается, на контракт, соотсетствующий +Обязательное свойство для ресурса, ссылается, на контракт, соответствующий данному ресурсу, используется для выполнения C<HTTP> методов и получения дочерних ресурсов.