Completed
Pull Request — master (#24)
by Quentin
03:30
created

StdNormalizable   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 4
c 1
b 0
f 1
lcom 0
cbo 0
dl 0
loc 30
ccs 0
cts 15
cp 0
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getScopes() 0 4 1
A normalize() 0 4 1
A denormalize() 0 8 2
1
<?php
2
3
namespace Majora\Framework\Normalizer\Model;
4
5
use Majora\Framework\Normalizer\Model\NormalizableInterface;
6
7
/**
8
 * Simple implementation of Normalizable with a StdClass
9
 */
10
class StdNormalizable extends \StdClass implements NormalizableInterface
11
{
12
    /**
13
     * @see NormalizableInterface::getScopes()
14
     */
15
    public static function getScopes()
16
    {
17
        return array();
18
    }
19
20
    /**
21
     * @see NormalizableInterface::normalize()
22
     */
23
    public function normalize($scope = 'default')
24
    {
25
        return (array) $this;
26
    }
27
28
    /**
29
     * @see NormalizableInterface::denormalize()
30
     */
31
    public function denormalize(array $data)
32
    {
33
        foreach ($data as $key => $value) {
34
            $this->$key = $value;
35
        }
36
37
        return $this;
38
    }
39
}
40