Mercurial > pub > Impl
diff lib/IMPL/Web/ViewResult.pm @ 407:c6e90e02dd17 ref20150831
renamed Lib->lib
author | cin |
---|---|
date | Fri, 04 Sep 2015 19:40:23 +0300 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib/IMPL/Web/ViewResult.pm Fri Sep 04 19:40:23 2015 +0300 @@ -0,0 +1,73 @@ +package IMPL::Web::ViewResult; +use strict; + +use IMPL::Const qw(:prop); +use Carp qw(carp); + +use IMPL::declare { + base => [ + 'IMPL::Object' => undef, + 'IMPL::Object::Autofill' => '@_' + ], + props => [ + model => PROP_RW, + _location => PROP_RW, + cookies => PROP_RW, + headers => PROP_RW, + status => PROP_RW + ] +}; + +sub location { + carp "location property is absolute"; + return shift->_location(@_); +} + +1; + +__END__ + +=pod + +=head1 NAME + +C<IMPL::Web::ViewResult> - описание представления результата. + +=head1 SYNOPSIS + +=begin code + +sub HttpGet { + my ($this, $action) = @_; + + return IMPL::Web::ViewResult->new( + model => $model + ); +} + +=end code + +=head1 DESCRIPTION + +Сожержит в себе информацию для представления модели. Также включает поля для +заголовков ответа C<cookies>, C<headers>, C<status>. + +=head1 MEMBERS + +=head2 C<[get,set]model> + +Модель ресурса, как правило это результат выполнения C<Http> метода. + +=head2 C<[get,set]cookies> + +Хеш с печеньками, которые будут добавлены в C<HTTP> ответ. + +=head2 C<[get,set]headers> + +Заголовки которые нужно добавить в заголовки C<HTTP> ответа. + +=head2 C<[get,set]status> + +Код C<HTTP> ответа. + +=cut