Completed
Push — master ( 146f46...ce721c )
by Thomas
03:30
created

PhpConstant::generateDocblock()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 1

Importance

Changes 4
Bugs 1 Features 0
Metric Value
c 4
b 1
f 0
dl 0
loc 8
ccs 6
cts 6
cp 1
rs 9.4285
cc 1
eloc 5
nc 1
nop 0
crap 1
1
<?php
2
namespace gossi\codegen\model;
3
4
use gossi\docblock\Docblock;
5
use gossi\docblock\tags\VarTag;
6
use gossi\codegen\model\parts\NameTrait;
7
use gossi\codegen\model\parts\LongDescriptionTrait;
8
use gossi\codegen\model\parts\DocblockTrait;
9
use gossi\codegen\model\parts\TypeTrait;
10
use gossi\codegen\model\parts\TypeDocblockGeneratorTrait;
11
use gossi\codegen\model\parts\ValueTrait;
12
13
/**
14
 * Represents a PHP constant.
15
 * 
16
 * @author gossi
17
 */
18
class PhpConstant extends AbstractModel implements GenerateableInterface, DocblockInterface {
19
20
	use NameTrait;
21
	use LongDescriptionTrait;
22
	use DocblockTrait;
23
	use TypeTrait;
24
	use TypeDocblockGeneratorTrait;
25
	use ValueTrait;
26
27 4
	public static function create($name = null, $value = null) {
28 4
		$constant = new static();
29 4
		$constant->setName($name)->setValue($value);
30
31 4
		return $constant;
32
	}
33
34 13
	public function __construct($name = null, $value = null) {
35 13
		$this->setName($name);
36 13
		$this->setValue($value);
37 13
		$this->docblock = new Docblock();
38 13
	}
39
40 6
	public function generateDocblock() {
41 6
		$docblock = $this->getDocblock();
42 6
		$docblock->setShortDescription($this->getDescription());
43 6
		$docblock->setLongDescription($this->getLongDescription());
44
45
		// var tag
46 6
		$this->generateTypeTag(new VarTag());
47
	}
48
}