PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / trunk
Booking for Appointments and Events Calendar – Amelia vtrunk
2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Domain / Factory / Cache / CacheFactory.php
ameliabooking / src / Domain / Factory / Cache Last commit date
CacheFactory.php 6 months ago
CacheFactory.php
50 lines
1 <?php
2
3 /**
4 * @copyright © Melograno Ventures. All rights reserved.
5 * @licence See LICENCE.md for license details.
6 */
7
8 namespace AmeliaBooking\Domain\Factory\Cache;
9
10 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
11 use AmeliaBooking\Domain\Entity\Cache\Cache;
12 use AmeliaBooking\Domain\ValueObjects\Json;
13 use AmeliaBooking\Domain\ValueObjects\Number\Integer\Id;
14 use AmeliaBooking\Domain\ValueObjects\String\Name;
15
16 /**
17 * Class CacheFactory
18 *
19 * @package AmeliaBooking\Domain\Factory\Cache
20 */
21 class CacheFactory
22 {
23 /**
24 * @param $data
25 *
26 * @return Cache
27 * @throws InvalidArgumentException
28 */
29 public static function create($data)
30 {
31 $cache = new Cache(
32 new Name($data['name'])
33 );
34
35 if (isset($data['id'])) {
36 $cache->setId(new Id($data['id']));
37 }
38
39 if (!empty($data['paymentId'])) {
40 $cache->setPaymentId(new Id($data['paymentId']));
41 }
42
43 if (!empty($data['data'])) {
44 $cache->setData(new Json($data['data']));
45 }
46
47 return $cache;
48 }
49 }
50