Browse Source

Merge pull request #5824 from fabpot/small-refacto

Code simplification
Jordi Boggiano 8 years ago
parent
commit
9cf93b0c88
1 changed files with 5 additions and 11 deletions
  1. 5 11
      src/Composer/Command/RequireCommand.php

+ 5 - 11
src/Composer/Command/RequireCommand.php

@@ -94,7 +94,6 @@ EOT
         }
 
         $json = new JsonFile($file);
-        $composerDefinition = $json->read();
         $composerBackup = file_get_contents($json->getPath());
 
         $composer = $this->getComposer(true, $input->getOption('no-plugins'));
@@ -112,7 +111,6 @@ EOT
 
         $requireKey = $input->getOption('dev') ? 'require-dev' : 'require';
         $removeKey = $input->getOption('dev') ? 'require' : 'require-dev';
-        $baseRequirements = array_key_exists($requireKey, $composerDefinition) ? $composerDefinition[$requireKey] : array();
         $requirements = $this->formatRequirements($requirements);
 
         // validate requirements format
@@ -123,16 +121,12 @@ EOT
 
         $sortPackages = $input->getOption('sort-packages') || $composer->getConfig()->get('sort-packages');
 
-        if (!$this->updateFileCleanly($json, $baseRequirements, $requirements, $requireKey, $removeKey, $sortPackages)) {
+        if (!$this->updateFileCleanly($json, $requirements, $requireKey, $removeKey, $sortPackages)) {
+            $composerDefinition = $json->read();
             foreach ($requirements as $package => $version) {
-                $baseRequirements[$package] = $version;
-
-                if (isset($composerDefinition[$removeKey][$package])) {
-                    unset($composerDefinition[$removeKey][$package]);
-                }
+                $composerDefinition[$requireKey][$package] = $version;
+                unset($composerDefinition[$removeKey][$package]);
             }
-
-            $composerDefinition[$requireKey] = $baseRequirements;
             $json->write($composerDefinition);
         }
 
@@ -194,7 +188,7 @@ EOT
         return $status;
     }
 
-    private function updateFileCleanly($json, array $base, array $new, $requireKey, $removeKey, $sortPackages)
+    private function updateFileCleanly($json, array $new, $requireKey, $removeKey, $sortPackages)
     {
         $contents = file_get_contents($json->getPath());