![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-payment/Model/Checks/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Payment\Model\Checks; /** * Creates complex specification. * * Use this class to register predefined list of specifications that should be added to any complex specification. * * @api * @since 100.0.2 */ class SpecificationFactory { /** * Composite Factory * * @var \Magento\Payment\Model\Checks\CompositeFactory */ protected $compositeFactory; /** * @var array */ protected $mapping; /** * Construct * * @param \Magento\Payment\Model\Checks\CompositeFactory $compositeFactory * @param array $mapping */ public function __construct(\Magento\Payment\Model\Checks\CompositeFactory $compositeFactory, array $mapping) { $this->compositeFactory = $compositeFactory; $this->mapping = $mapping; } /** * Creates new instances of payment method models * * @param array $data * @return Composite * @throws \Magento\Framework\Exception\LocalizedException */ public function create($data) { $specifications = array_intersect_key($this->mapping, array_flip((array)$data)); return $this->compositeFactory->create(['list' => $specifications]); } }