From 5890b05eb07d1b7a4a0973f22d23501fd23ab18b Mon Sep 17 00:00:00 2001 From: everzet Date: Sun, 25 Sep 2011 20:59:40 +0300 Subject: [PATCH] Implemented ArrayDumper --- src/Composer/Package/Dumper/ArrayDumper.php | 58 +++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/Composer/Package/Dumper/ArrayDumper.php diff --git a/src/Composer/Package/Dumper/ArrayDumper.php b/src/Composer/Package/Dumper/ArrayDumper.php new file mode 100644 index 000000000..d13482264 --- /dev/null +++ b/src/Composer/Package/Dumper/ArrayDumper.php @@ -0,0 +1,58 @@ + + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer\Package\Dumper; + +use Composer\Package\PackageInterface; + +/** + * @author Konstantin Kudryashiv + */ +class ArrayDumper +{ + public function dump(PackageInterface $package) + { + $keys = array( + 'type', + 'names', + 'extra', + 'installationSource', + 'sourceType', + 'sourceUrl', + 'distType', + 'distUrl', + 'distSha1Checksum', + 'releaseType', + 'version', + 'license', + 'requires', + 'conflicts', + 'provides', + 'replaces', + 'recommends', + 'suggests' + ); + + $data = array(); + $data['name'] = $package->getPrettyName(); + foreach ($keys as $key) { + $getter = 'get'.ucfirst($key); + $value = $package->$getter(); + + if (null !== $value && !(is_array($value) && 0 === count($value))) { + $data[$key] = $value; + } + } + + return $data; + } +}