view Lib/IMPL/Web/ViewResult.pm @ 263:0f59b2de72af

*fixed IMPL::DOM::Schema circular module references *modified IMPL::Object::Singleton, added auto-activation *code cleanups, docs
author sergey
date Wed, 09 Jan 2013 05:17:44 +0400
parents 2879cdb6b8cd
children 6b6d4b2275a1
line wrap: on
line source

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

Сожержит в себе информацию для представления модели.

=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