PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.16.6.1
GiveWP – Donation Plugin and Fundraising Platform v4.16.6.1
4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / vendor / moneyphp / money / src / Currencies / CachedCurrencies.php
give / vendor / moneyphp / money / src / Currencies Last commit date
AggregateCurrencies.php 1 year ago BitcoinCurrencies.php 1 year ago CachedCurrencies.php 1 year ago CurrencyList.php 1 year ago ISOCurrencies.php 1 year ago
CachedCurrencies.php
96 lines
1 <?php
2
3 namespace Money\Currencies;
4
5 use Cache\Taggable\TaggableItemInterface;
6 use Money\Currencies;
7 use Money\Currency;
8 use Psr\Cache\CacheItemPoolInterface;
9
10 /**
11 * Cache the result of currency checking.
12 *
13 * @author Márk Sági-Kazár <mark.sagikazar@gmail.com>
14 */
15 final class CachedCurrencies implements Currencies
16 {
17 /**
18 * @var Currencies
19 */
20 private $currencies;
21
22 /**
23 * @var CacheItemPoolInterface
24 */
25 private $pool;
26
27 public function __construct(Currencies $currencies, CacheItemPoolInterface $pool)
28 {
29 $this->currencies = $currencies;
30 $this->pool = $pool;
31 }
32
33 /**
34 * {@inheritdoc}
35 */
36 public function contains(Currency $currency)
37 {
38 $item = $this->pool->getItem('currency|availability|'.$currency->getCode());
39
40 if (false === $item->isHit()) {
41 $item->set($this->currencies->contains($currency));
42
43 if ($item instanceof TaggableItemInterface) {
44 $item->addTag('currency.availability');
45 }
46
47 $this->pool->save($item);
48 }
49
50 return $item->get();
51 }
52
53 /**
54 * {@inheritdoc}
55 */
56 public function subunitFor(Currency $currency)
57 {
58 $item = $this->pool->getItem('currency|subunit|'.$currency->getCode());
59
60 if (false === $item->isHit()) {
61 $item->set($this->currencies->subunitFor($currency));
62
63 if ($item instanceof TaggableItemInterface) {
64 $item->addTag('currency.subunit');
65 }
66
67 $this->pool->save($item);
68 }
69
70 return $item->get();
71 }
72
73 /**
74 * {@inheritdoc}
75 */
76 #[\ReturnTypeWillChange]
77 public function getIterator()
78 {
79 return new \CallbackFilterIterator(
80 $this->currencies->getIterator(),
81 function (Currency $currency) {
82 $item = $this->pool->getItem('currency|availability|'.$currency->getCode());
83 $item->set(true);
84
85 if ($item instanceof TaggableItemInterface) {
86 $item->addTag('currency.availability');
87 }
88
89 $this->pool->save($item);
90
91 return true;
92 }
93 );
94 }
95 }
96