<?php
/**
 * Plumrocket Inc.
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the End-user License Agreement
 * that is available through the world-wide-web at this URL:
 * http://wiki.plumrocket.net/wiki/EULA
 * If you are unable to obtain it through the world-wide-web, please
 * send an email to support@plumrocket.com so we can send you a copy immediately.
 *
 * @package     Plumrocket Product Filter v3.x.x
 * @copyright   Copyright (c) 2016 Plumrocket Inc. (http://www.plumrocket.com)
 * @license     http://wiki.plumrocket.net/wiki/EULA  End-user License Agreement
 */

namespace Plumrocket\ProductFilter\Model\Config\Source;

class AbstractSource implements \Magento\Framework\Option\ArrayInterface
{
    /**
     * Options getter
     *
     * @return array[]
     */
    public function toOptionArray()
    {
        return [];
    }

    /**
     * Get options in "key-value" format
     *
     * @return array
     */
    public function toArray()
    {
        return $this->formatOptionToArray();
    }

    /**
     * Format array
     * from @see toOptionArray
     * for @see toArray
     *
     * @return array
     */
    protected function formatOptionToArray()
    {
        $optionAsArray = [];
        foreach ($this->toOptionArray() as $item) {
            $optionAsArray[$item['value']] = $item['label'];
        }

        return $optionAsArray;
    }
}
