File Coverage

blib/lib/Articulate/Routes/TransparentForms.pm
Criterion Covered Total %
statement 15 15 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod n/a
total 20 20 100.0


line stmt bran cond sub pod time code
1             package Articulate::Routes::TransparentForms;
2 4     4   2411 use strict;
  4         9  
  4         134  
3 4     4   16 use warnings;
  4         7  
  4         89  
4              
5 4     4   15 use Moo;
  4         8  
  4         19  
6             with 'Articulate::Role::Routes';
7 4     4   1170 use Articulate::Syntax::Routes;
  4         7  
  4         29  
8 4     4   3240 use Articulate::Service;
  4         10  
  4         30  
9              
10             get '/zone/:zone_id/create' => sub {
11             my ($self, $request) = @_;
12             my $zone_id = $request->params->{'zone_id'};
13             $self->service->process_request(
14             create_form => {
15             location => "zone/$zone_id",
16             }
17             )
18             };
19              
20             post '/zone/:zone_id/create' => sub {
21             my ($self, $request) = @_;
22             my $zone_id = $request->params->{'zone_id'};
23             my $article_id = $request->params->{'article_id'};
24             return $self->process_request( error => {
25             simple_message => 'Parameter article_id is required'
26             } ) unless defined $article_id and $article_id ne '';
27             my $content = $request->params->{'content'};
28             $self->service->process_request(
29             create => {
30             location =>"zone/$zone_id/article/$article_id",
31             content => $content,
32             }
33             );
34             };
35              
36              
37             get '/zone/:zone_id/article/:article_id/edit' => sub {
38             my ($self, $request) = @_;
39             my $zone_id = $request->params->{'zone_id'};
40             my $article_id = $request->params->{'article_id'};
41             $self->service->process_request(
42             edit_form => {
43             location => "zone/$zone_id/article/$article_id",
44             }
45             )
46             };
47              
48             1;