Browse Source

use injection on the request::detect_env method for better testability.

Taylor Otwell 12 years ago
parent
commit
5d52da696f
2 changed files with 6 additions and 5 deletions
  1. 3 1
      laravel/core.php
  2. 3 4
      laravel/request.php

+ 3 - 1
laravel/core.php

@@ -168,7 +168,9 @@ if (Request::cli())
 }
 else
 {
-	$environment = Request::detect_env($environments);
+	$root = Request::foundation()->getRootUrl();
+
+	$environment = Request::detect_env($environments, $root);
 }
 
 /*

+ 3 - 4
laravel/request.php

@@ -212,12 +212,11 @@ class Request {
 	 * Detect the current environment from an environment configuration.
 	 *
 	 * @param  array        $environments
+	 * @param  string       $uri
 	 * @return string|null
 	 */
-	public static function detect_env(array $environments)
+	public static function detect_env(array $environments, $uri)
 	{
-		$root = static::foundation()->getRootUrl();
-
 		foreach ($environments as $environment => $patterns)
 		{
 			// Essentially we just want to loop through each environment pattern
@@ -225,7 +224,7 @@ class Request {
 			// we'll simply return the environment for that URI pattern.
 			foreach ($patterns as $pattern)
 			{
-				if (Str::is($pattern, $root))
+				if (Str::is($pattern, $uri))
 				{
 					return $environment;
 				}