SchemaLoadException::__construct()   B
last analyzed

Complexity

Conditions 7
Paths 4

Size

Total Lines 15
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 15
rs 8.2222
c 0
b 0
f 0
cc 7
eloc 12
nc 4
nop 3
1
<?php
2
3
namespace frictionlessdata\tableschema\Exceptions;
4
5
/**
6
 * error loading a table schema and converting it to native php object.
7
 */
8
class SchemaLoadException extends \Exception
9
{
10
    /**
11
     * @param mixed  $descriptor
12
     * @param mixed  $descriptorSource
13
     * @param string $errorMessage
14
     */
15
    public function __construct($descriptor, $descriptorSource, $errorMessage)
16
    {
17
        if (!empty($descriptor) && empty($descriptorSource)) {
18
            $message = 'error decoding descriptor '.json_encode($descriptor).": {$errorMessage}";
19
        } elseif (!empty($descriptor) && !empty($descriptorSource)) {
20
            $message = 'error decoding descriptor from source '.json_encode($descriptorSource)
21
                .' - '.json_encode($descriptor).": {$errorMessage}";
22
        } elseif (empty($descriptor) && !empty($descriptorSource)) {
23
            $message = 'error loading descriptor from source '.json_encode($descriptorSource)
24
                .": {$errorMessage}";
25
        } else {
26
            $message = "unexpected load error: {$errorMessage}";
27
        }
28
        parent::__construct($message);
29
    }
30
}
31