Passed
Push — master ( e4f4dc...7154ac )
by Oskars
09:15
created
src/Scenarios.php 1 patch
Indentation   +128 added lines, -128 removed lines patch added patch discarded remove patch
@@ -9,132 +9,132 @@
 block discarded – undo
9 9
 
10 10
 trait Scenarios
11 11
 {
12
-    /**
13
-     * @var string
14
-     */
15
-    public $scenario;
16
-
17
-    /**
18
-     * @var string
19
-     */
20
-    public $setMethodFromController;
21
-
22
-    /**
23
-     * @var string
24
-     */
25
-    public $setMethodFromUrl;
26
-
27
-    /**
28
-     * Create a new rule instance.
29
-     *
30
-     * Scenarios constructor.
31
-     *
32
-     * @throws \Exception
33
-     */
34
-    public function __construct()
35
-    {
36
-        // Set Config
37
-        $this->setMethodFromController = config(
38
-            'scenarios.features.setMethodFromController',
39
-            true
40
-        );
41
-        $this->setMethodFromUrl = config(
42
-            'scenarios.features.setMethodFromUrlSegment',
43
-            false
44
-        );
45
-
46
-        // Detect package abuse
47
-        $this->exceptionOneSetMethod();
48
-        $this->exceptionOnlyOneSetMethod();
49
-
50
-        // setMethod based on Controller function
51
-        if ($this->setMethodFromController) {
52
-            $this->scenario = $this->patternFilter($this->currentControllerMethod());
53
-        }
54
-
55
-        // setMethod based on Request segment based on $controllerMethodPattern
56
-        if ($this->setMethodFromUrl) {
57
-            $this->scenario = $this->patternFilter($this->currentRequestUri());
58
-        }
59
-    }
60
-
61
-    /**
62
-     * @param $method
63
-     *
64
-     * @throws \Exception
65
-     *
66
-     * @return string
67
-     */
68
-    public function patternFilter($method): string
69
-    {
70
-        \preg_match_all(
71
-            config('scenarios.methods.pattern'),
72
-            \mb_strtolower($method),
73
-            $matches
74
-        );
75
-
76
-        $this->exceptionScenarioPattern($matches[0][0]);
77
-
78
-        return $matches[0][0];
79
-    }
80
-
81
-    /**
82
-     * @return string|null
83
-     */
84
-    public function currentControllerMethod(): ?string
85
-    {
86
-        return Route::current() !== null ?
87
-            Route::current()->getActionMethod() :
88
-            null;
89
-    }
90
-
91
-    /**
92
-     * @return string|null
93
-     */
94
-    public function currentRequestUri(): ?string
95
-    {
96
-        return Route::getCurrentRequest() !== null ?
97
-            Route::getCurrentRequest()->getRequestUri() :
98
-            null;
99
-    }
100
-
101
-    /**
102
-     * @param mixed $matches
103
-     *
104
-     * @throws \Exception
105
-     */
106
-    private function exceptionScenarioPattern($matches): void
107
-    {
108
-        if (isset($matches) === false) {
109
-            throw new \Exception(
110
-                'Scenarios patternFilter failed finding match, check $scenarioPattern , LIKE RIGHT NOW !!!'
111
-            );
112
-        }
113
-    }
114
-
115
-    private function exceptionOneSetMethod(): void
116
-    {
117
-        if (
118
-            \is_bool($this->setMethodFromController) === false ||
119
-            \is_bool($this->setMethodFromUrl) === false ||
120
-            ($this->setMethodFromController === false && $this->setMethodFromUrl === false)
121
-        ) {
122
-            throw new \Exception(
123
-                'Please enable at least one setMethod function, LIKE RIGHT NOW !!!'
124
-            );
125
-        }
126
-    }
127
-
128
-    private function exceptionOnlyOneSetMethod(): void
129
-    {
130
-        if (
131
-            \is_bool($this->setMethodFromController) === false ||
132
-            \is_bool($this->setMethodFromUrl) === false ||
133
-            ($this->setMethodFromController === true && $this->setMethodFromUrl === true)
134
-        ) {
135
-            throw new \Exception(
136
-                'Please enable only one setMethod function, LIKE RIGHT NOW !!!'
137
-            );
138
-        }
139
-    }
12
+	/**
13
+	 * @var string
14
+	 */
15
+	public $scenario;
16
+
17
+	/**
18
+	 * @var string
19
+	 */
20
+	public $setMethodFromController;
21
+
22
+	/**
23
+	 * @var string
24
+	 */
25
+	public $setMethodFromUrl;
26
+
27
+	/**
28
+	 * Create a new rule instance.
29
+	 *
30
+	 * Scenarios constructor.
31
+	 *
32
+	 * @throws \Exception
33
+	 */
34
+	public function __construct()
35
+	{
36
+		// Set Config
37
+		$this->setMethodFromController = config(
38
+			'scenarios.features.setMethodFromController',
39
+			true
40
+		);
41
+		$this->setMethodFromUrl = config(
42
+			'scenarios.features.setMethodFromUrlSegment',
43
+			false
44
+		);
45
+
46
+		// Detect package abuse
47
+		$this->exceptionOneSetMethod();
48
+		$this->exceptionOnlyOneSetMethod();
49
+
50
+		// setMethod based on Controller function
51
+		if ($this->setMethodFromController) {
52
+			$this->scenario = $this->patternFilter($this->currentControllerMethod());
53
+		}
54
+
55
+		// setMethod based on Request segment based on $controllerMethodPattern
56
+		if ($this->setMethodFromUrl) {
57
+			$this->scenario = $this->patternFilter($this->currentRequestUri());
58
+		}
59
+	}
60
+
61
+	/**
62
+	 * @param $method
63
+	 *
64
+	 * @throws \Exception
65
+	 *
66
+	 * @return string
67
+	 */
68
+	public function patternFilter($method): string
69
+	{
70
+		\preg_match_all(
71
+			config('scenarios.methods.pattern'),
72
+			\mb_strtolower($method),
73
+			$matches
74
+		);
75
+
76
+		$this->exceptionScenarioPattern($matches[0][0]);
77
+
78
+		return $matches[0][0];
79
+	}
80
+
81
+	/**
82
+	 * @return string|null
83
+	 */
84
+	public function currentControllerMethod(): ?string
85
+	{
86
+		return Route::current() !== null ?
87
+			Route::current()->getActionMethod() :
88
+			null;
89
+	}
90
+
91
+	/**
92
+	 * @return string|null
93
+	 */
94
+	public function currentRequestUri(): ?string
95
+	{
96
+		return Route::getCurrentRequest() !== null ?
97
+			Route::getCurrentRequest()->getRequestUri() :
98
+			null;
99
+	}
100
+
101
+	/**
102
+	 * @param mixed $matches
103
+	 *
104
+	 * @throws \Exception
105
+	 */
106
+	private function exceptionScenarioPattern($matches): void
107
+	{
108
+		if (isset($matches) === false) {
109
+			throw new \Exception(
110
+				'Scenarios patternFilter failed finding match, check $scenarioPattern , LIKE RIGHT NOW !!!'
111
+			);
112
+		}
113
+	}
114
+
115
+	private function exceptionOneSetMethod(): void
116
+	{
117
+		if (
118
+			\is_bool($this->setMethodFromController) === false ||
119
+			\is_bool($this->setMethodFromUrl) === false ||
120
+			($this->setMethodFromController === false && $this->setMethodFromUrl === false)
121
+		) {
122
+			throw new \Exception(
123
+				'Please enable at least one setMethod function, LIKE RIGHT NOW !!!'
124
+			);
125
+		}
126
+	}
127
+
128
+	private function exceptionOnlyOneSetMethod(): void
129
+	{
130
+		if (
131
+			\is_bool($this->setMethodFromController) === false ||
132
+			\is_bool($this->setMethodFromUrl) === false ||
133
+			($this->setMethodFromController === true && $this->setMethodFromUrl === true)
134
+		) {
135
+			throw new \Exception(
136
+				'Please enable only one setMethod function, LIKE RIGHT NOW !!!'
137
+			);
138
+		}
139
+	}
140 140
 }
Please login to merge, or discard this patch.