Ajax_Exception   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 5
c 2
b 0
f 0
dl 0
loc 24
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A undefined_action() 0 3 1
A non_ajax_model() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
/**
6
 * Custom exceptions for the Ajax module.
7
 *
8
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
9
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
10
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
11
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
12
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
13
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
14
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
15
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
16
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
17
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
18
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
19
 *
20
 * @author Glynn Quelch <[email protected]>
21
 * @license http://www.opensource.org/licenses/mit-license.html  MIT License
22
 * @package PinkCrab\Ajax
23
 */
24
25
namespace PinkCrab\Ajax;
26
27
use Exception;
28
29
class Ajax_Exception extends Exception {
30
31
	/**
32
	 * Class is not an Ajax::class
33
	 *
34
	 * @code 100
35
	 * @param string $operation The operation being carries out.
36
	 * @return Ajax_Exception
37
	 */
38
	public static function non_ajax_model( string $operation = 'unknown operation' ): Ajax_Exception {
39
		$message = 'None Ajax Model passed to ' . $operation;
40
		return new Ajax_Exception( $message, 100 );
41
	}
42
43
	/**
44
	 * Ajax::class has no defined action.
45
	 *
46
	 * @code 101
47
	 * @param string $class_string Ajax class
48
	 * @return Ajax_Exception
49
	 */
50
	public static function undefined_action( string $class_string ): Ajax_Exception {
51
		$message = "{$class_string} has no defined action property";
52
		return new Ajax_Exception( $message, 101 );
53
	}
54
}
55