PageCreator   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 1
lcom 0
cbo 3
dl 0
loc 21
rs 10
c 1
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A __invoke() 0 12 1
1
<?php
2
/**
3
 * Lichtenwallner  (https://lichtenwallner.at)
4
 *
5
 * @see https://github.com/jolicht/markdown-cms for the canonical source repository
6
 * @license https://github.com/jolicht/markdown-cms/blob/master/LICENSE MIT
7
 * @copyright Copyright (c) Johannes Lichtenwallner
8
 */
9
declare(strict_types = 1);
10
namespace Jolicht\MarkdownCms\ContentType;
11
12
use Jolicht\MarkdownCms\Markdown\MarkdownDocument;
13
14
/**
15
 * Factory to created page
16
 */
17
class PageCreator extends AbstractContentTypeCreator
18
{
19
    /**
20
     * Create page
21
     * @return Page
22
     * @param MarkdownDocument $markdownDocument
23
     * @return Page
24
     */
25
    public function __invoke(MarkdownDocument $markdownDocument) : Page
26
    {
27
        return new Page(
28
            $markdownDocument->getParam('id'),
29
            $markdownDocument->getParam('title'),
30
            $markdownDocument->getContent(),
31
            new \DateTime($markdownDocument->getParam('created')),
32
            new \DateTime($markdownDocument->getParam('updated', $markdownDocument->getParam('created'))),
33
            $markdownDocument->getParam('draft', false),
34
            $markdownDocument->getParam('template', $this->getDefaultTemplate())
35
        );
36
    }
37
}