SchemaLoadException   A
last analyzed

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
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