Skip to content

Commit

Permalink
add a function to make sure file names match the class they contain
Browse files Browse the repository at this point in the history
  • Loading branch information
AD7six committed May 1, 2011
1 parent d100f09 commit 1d493ca
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions lib/Cake/Console/Command/UpgradeShell.php
Expand Up @@ -58,6 +58,10 @@ function locations() {
$Folder->move($new);
}
}

foreach($moves as $new) {
$this->_filesMatchClass($new);
}
}

/**
Expand Down Expand Up @@ -268,6 +272,38 @@ public function configure() {
$this->_filesRegexpUpdate($patterns);
}

protected function _filesMatchClass($path) {
$paths = $this->_paths;
$this->_paths = array($path);

$this->_findFiles('php');
foreach ($this->_files as $file) {
$contents = file_get_contents($file);
preg_match('@class (\S*) @', $contents, $match);
if (!$match) {
continue;
}

$class = $match[1];

$filename = basename($file);
if ($filename === $class . '.php') {
continue;
}

$new = dirname($file);
if ($new) {
$new .= DS;
}
$new .= $class . '.php';

$this->out('Moving ' . $file . ' to ' . $new, 1, Shell::VERBOSE);
rename($file, $new);
}

$this->_paths = $paths;
}

/**
* Updates files based on regular expressions.
*
Expand Down

0 comments on commit 1d493ca

Please sign in to comment.