Ajax_Exception::non_ajax_model()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 2
c 0
b 0
f 0
dl 0
loc 3
rs 10
cc 1
nc 1
nop 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