Completed
Pull Request — develop (#5)
by A.
04:51
created

InvalidArgumentException::invalidType()   A

Complexity

Conditions 2
Paths 1

Size

Total Lines 11
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 11
rs 9.4285
cc 2
eloc 7
nc 1
nop 3
1
<?php
2
3
/**
4
 * Copyright 2014 SURFnet bv
5
 *
6
 * Licensed under the Apache License, Version 2.0 (the "License");
7
 * you may not use this file except in compliance with the License.
8
 * You may obtain a copy of the License at
9
 *
10
 *     http://www.apache.org/licenses/LICENSE-2.0
11
 *
12
 * Unless required by applicable law or agreed to in writing, software
13
 * distributed under the License is distributed on an "AS IS" BASIS,
14
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
 * See the License for the specific language governing permissions and
16
 * limitations under the License.
17
 */
18
19
namespace Surfnet\YubikeyApiClient\Exception;
20
21
class InvalidArgumentException extends \InvalidArgumentException implements SurfnetYubikeyApiClientException
22
{
23
    /**
24
     * @param string $expected description of expected type
25
     * @param string $parameterName
26
     * @param mixed $parameter the parameter that is not of the expected type.
27
     *
28
     * @return self
29
     */
30
    public static function invalidType($expected, $parameterName, $parameter)
31
    {
32
        $message = sprintf(
33
            'Invalid argument type: "%s" expected, "%s" given for "%s"',
34
            $expected,
35
            is_object($parameter) ? get_class($parameter) : gettype($parameter),
36
            $parameterName
37
        );
38
39
        return new self($message);
40
    }
41
}
42