* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0 */ namespace PrestaShop\Module\PrestashopCheckout\FundingSource; class FundingSourceCollection { /** * @var FundingSourceEntity[] */ private $fundingSources; /** * @param FundingSourceEntity[] $fundingSources */ public function __construct($fundingSources) { $this->fundingSources = $fundingSources; } /** * Get the funding sources * * @return FundingSourceEntity[] */ public function get() { return $this->fundingSources; } /** * Sort funding sources by position * * @return FundingSourceCollection */ public function sortByPosition() { usort($this->fundingSources, function ($a, $b) { return $a->getPosition() - $b->getPosition(); }); return $this; } /** * Filter funding sources by eligibility * * @return FundingSourceCollection */ public function filterEligibility() { $eligibleFundingSources = []; foreach ($this->fundingSources as $fundingSource) { if (true === $fundingSource->getIsEnabled()) { $eligibleFundingSources[] = $fundingSource; } } $this->fundingSources = $eligibleFundingSources; return $this; } }