Passed
Pull Request — master (#46)
by Jean-Christophe
07:05
created

DAOTransactionsTrait::rollBackAll()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 2
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 1
1
<?php
2
3
namespace Ubiquity\orm\traits;
4
5
/**
6
 * Adds transactions in DAO class.
7
 * Ubiquity\orm\traits$DAOTransactionsTrait
8
 * This class is part of Ubiquity
9
 *
10
 * @author jcheron <[email protected]>
11
 * @version 1.0.0
12
 * @property \Ubiquity\db\Database $db
13
 *
14
 */
15
trait DAOTransactionsTrait {
16
17
	/**
18
	 * Initiates a transaction
19
	 *
20
	 * @return boolean true on success or false on failure
21
	 */
22 8
	public static function beginTransaction() {
23 8
		return self::$db->beginTransaction ();
24
	}
25
26
	/**
27
	 * Commits a transaction
28
	 *
29
	 * @return boolean true on success or false on failure
30
	 */
31 4
	public static function commit() {
32 4
		return self::$db->commit ();
33
	}
34
35
	/**
36
	 * Commits nested transactions up to level $transactionLevel
37
	 *
38
	 * @param int $transactionLevel
39
	 * @return boolean true on success or false on failure
40
	 */
41
	public static function commitToLevel($transactionLevel) {
42
		return self::$db->commitToLevel ( $transactionLevel );
43
	}
44
45
	/**
46
	 * Commits all nested transactions (up to level 0)
47
	 *
48
	 * @return boolean true on success or false on failure
49
	 */
50 1
	public static function commitAll() {
51 1
		return self::$db->commitAll ();
52
	}
53
54
	/**
55
	 * Rolls back a transaction
56
	 *
57
	 * @return boolean true on success or false on failure
58
	 */
59 2
	public static function rollBack() {
60 2
		return self::$db->rollBack ();
61
	}
62
63
	/**
64
	 * Rolls back nested transactions up to level $transactionLevel
65
	 *
66
	 * @param int $transactionLevel
67
	 * @return boolean true on success or false on failure
68
	 */
69
	public static function rollBackToLevel($transactionLevel) {
70
		return self::$db->rollBackToLevel ( $transactionLevel );
71
	}
72
73
	/**
74
	 * Rolls back all nested transactions (up to level 0)
75
	 *
76
	 * @return boolean true on success or false on failure
77
	 */
78 1
	public static function rollBackAll() {
79 1
		return self::$db->rollBackAll ();
80
	}
81
82
	/**
83
	 * Call a callback with an array of parameters in a transaction
84
	 *
85
	 * @param callable $callback
86
	 * @param mixed ...$parameters
87
	 * @throws \Exception
88
	 * @return mixed
89
	 */
90
	public static function callInTransaction($callback, ...$parameters) {
91
		return self::$db->callInTransaction ( $callback, ...$parameters );
92
	}
93
}
94
95