Completed
Push — master ( fba866...b10a48 )
by Ori
03:03
created

SchemaLoadException   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 0
Metric Value
wmc 7
lcom 0
cbo 0
dl 0
loc 23
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B __construct() 0 15 7
1
<?php
2
namespace frictionlessdata\tableschema\Exceptions;
3
4
/**
5
 * error loading a table schema and converting it to native php object
6
 */
7
class SchemaLoadException extends \Exception
8
{
9
    /**
10
     * @param mixed $descriptor
11
     * @param mixed $descriptorSource
12
     * @param string $errorMessage
13
     */
14
    public function __construct($descriptor, $descriptorSource, $errorMessage)
15
    {
16
        if (!empty($descriptor) && empty($descriptorSource)) {
17
            $message = "error decoding descriptor ".json_encode($descriptor).": {$errorMessage}";
18
        } elseif (!empty($descriptor) && !empty($descriptorSource)) {
19
            $message = "error decoding descriptor from source ".json_encode($descriptorSource)
20
                ." - ".json_encode($descriptor).": {$errorMessage}";
21
        } elseif (empty($descriptor) && !empty($descriptorSource)) {
22
            $message = "error loading descriptor from source ".json_encode($descriptorSource)
23
                .": {$errorMessage}";
24
        } else {
25
            $message = "unexpected load error: {$errorMessage}";
26
        }
27
        parent::__construct($message);
28
    }
29
}