Completed
Pull Request — master (#32)
by Sascha-Oliver
15:35 queued 13:23
created

CurrencyType   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 0%

Importance

Changes 4
Bugs 0 Features 0
Metric Value
wmc 7
c 4
b 0
f 0
lcom 0
cbo 2
dl 0
loc 32
ccs 0
cts 12
cp 0
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getName() 0 4 1
A convertToDatabaseValue() 0 8 2
A convertToPHPValue() 0 8 3
A closureToPHP() 0 4 1
1
<?php
2
3
namespace ZFBrasil\DoctrineMoneyModule\ODM\MongoDB\Types;
4
5
use Doctrine\ODM\MongoDB\Types\Type;
6
use Money\Currency;
7
8
class CurrencyType extends Type
9
{
10
    const NAME = 'currency';
11
12
    public function getName()
13
    {
14
        return self::NAME;
15
    }
16
17
    public function convertToDatabaseValue($value)
18
    {
19
        if ($value) {
20
            return (string) $value;
21
        }
22
23
        return null;
24
    }
25
26
    public function convertToPHPValue($value)
27
    {
28
        if ($value === null || $value instanceof Currency) {
29
            return $value;
30
        }
31
32
        return new Currency($value);
33
    }
34
35
    public function closureToPHP()
36
    {
37
        return '$return = new \Money\Currency($value);';
38
    }
39
}
40