From 80f5873d9af4f5359bb858c424ed97eafa6635fb Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Fri, 28 Nov 2014 11:02:55 +0000 Subject: [PATCH] Move getUpdates to Maintenance\Utils class --- .../classes/Mibew/Maintenance/Updater.php | 33 +------------------ .../libs/classes/Mibew/Maintenance/Utils.php | 31 +++++++++++++++++ 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/src/mibew/libs/classes/Mibew/Maintenance/Updater.php b/src/mibew/libs/classes/Mibew/Maintenance/Updater.php index 908ff85a..e00d624b 100644 --- a/src/mibew/libs/classes/Mibew/Maintenance/Updater.php +++ b/src/mibew/libs/classes/Mibew/Maintenance/Updater.php @@ -122,7 +122,7 @@ class Updater } // Get list of all available updates - $updates = $this->getUpdates(); + $updates = Utils::getUpdates($this); // Check if updates should be performed $versions = array_keys($updates); @@ -258,35 +258,4 @@ class Updater return false; } } - - /** - * Gets list of all available updates. - * - * @return array The keys of this array are version numbers and values are - * methods of the {@link \Mibew\Maintenance\Updater} class that should be - * performed. - */ - protected function getUpdates() - { - $updates = array(); - - $self_reflection = new \ReflectionClass($this); - foreach ($self_reflection->getMethods() as $method_reflection) { - // Filter update methods - $name = $method_reflection->getName(); - if (preg_match("/^update([0-9]+)(?:Beta([0-9]+))?$/", $name, $matches)) { - $version = Utils::formatVersionId($matches[1]); - // Check if a beta version is defined. - if (!empty($matches[2])) { - $version .= '-beta.' . $matches[2]; - } - - $updates[$version] = $name; - } - } - - uksort($updates, 'version_compare'); - - return $updates; - } } diff --git a/src/mibew/libs/classes/Mibew/Maintenance/Utils.php b/src/mibew/libs/classes/Mibew/Maintenance/Utils.php index 69b2938a..4d81a748 100644 --- a/src/mibew/libs/classes/Mibew/Maintenance/Utils.php +++ b/src/mibew/libs/classes/Mibew/Maintenance/Utils.php @@ -49,6 +49,37 @@ class Utils return implode('.', array_reverse($parts)); } + /** + * Gets list of all available updates. + * + * @param object $container Instance of the class that keeps update methods. + * @return array The keys of this array are version numbers and values are + * methods of the $container class that should be performed. + */ + public static function getUpdates($container) + { + $updates = array(); + + $container_reflection = new \ReflectionClass($container); + foreach ($container_reflection->getMethods() as $method_reflection) { + // Filter update methods + $name = $method_reflection->getName(); + if (preg_match("/^update([0-9]+)(?:Beta([0-9]+))?$/", $name, $matches)) { + $version = self::formatVersionId($matches[1]); + // Check if a beta version is defined. + if (!empty($matches[2])) { + $version .= '-beta.' . $matches[2]; + } + + $updates[$version] = $name; + } + } + + uksort($updates, 'version_compare'); + + return $updates; + } + /** * This class should not be instantiated */