Browse Source

cleaning up the session cli task.

Taylor Otwell 13 years ago
parent
commit
f27ec7ab95
1 changed files with 28 additions and 16 deletions
  1. 28 16
      laravel/cli/tasks/session/manager.php

+ 28 - 16
laravel/cli/tasks/session/manager.php

@@ -5,9 +5,7 @@ use Laravel\File;
 use Laravel\Config;
 use Laravel\Session;
 use Laravel\CLI\Tasks\Task;
-use Laravel\Database\Schema;
 use Laravel\Session\Drivers\Sweeper;
-use Laravel\CLI\Tasks\Migrate\Migrator;
 
 class Manager extends Task {
 
@@ -37,18 +35,10 @@ class Manager extends Task {
 
 		File::put($migration, File::get($stub));
 
-		// By default no session driver is specified in the configuration.
+		// By default no session driver is set within the configuration.
 		// Since the developer is requesting that the session table be
-		// created on the database, we'll set the driver.
-		$config = File::get(path('app').'config/session'.EXT);
-
-		$config = str_replace(
-			"'driver' => '',",
-			"'driver' => 'database',",
-			$config
-		);
-
-		File::put(path('app').'config/session'.EXT, $config);
+		// created on the database, we'll set it.
+		$this->driver('database');
 
 		echo PHP_EOL;
 
@@ -65,9 +55,9 @@ class Manager extends Task {
 	{
 		$driver = Session::factory(Config::get('session.driver'));
 
-		// If the driver implements the "Sweeper" interface, we know that
-		// it can sweep expired sessions from storage. Not all drivers
-		// need be sweepers since they do their own.
+		// If the driver implements the "Sweeper" interface, we know that it
+		// can sweep expired sessions from storage. Not all drivers need be
+		// sweepers since they do their own.
 		if ($driver instanceof Sweeper)
 		{
 			$lifetime = Config::get('session.lifetime');
@@ -78,4 +68,26 @@ class Manager extends Task {
 		echo "The session table has been swept!";
 	}
 
+	/**
+	 * Set the session driver to a given value.
+	 *
+	 * @param  string  $driver
+	 * @return void
+	 */
+	protected function driver($driver)
+	{
+		// By default no session driver is set within the configuration.
+		// This method will replace the empty driver option with the
+		// driver specified in the arguments.
+		$config = File::get(path('app').'config/session'.EXT);
+
+		$config = str_replace(
+			"'driver' => '',",
+			"'driver' => 'database',",
+			$config
+		);
+
+		File::put(path('app').'config/session'.EXT, $config);
+	}
+
 }