PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.1
Booking for Appointments and Events Calendar – Amelia v2.1
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 / Google / GoogleCalendarFactory.php
ameliabooking / src / Domain / Factory / Google Last commit date
GoogleCalendarFactory.php 1 year ago
GoogleCalendarFactory.php
38 lines
1 <?php
2
3 namespace AmeliaBooking\Domain\Factory\Google;
4
5 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
6 use AmeliaBooking\Domain\Entity\Google\GoogleCalendar;
7 use AmeliaBooking\Domain\ValueObjects\Number\Integer\Id;
8 use AmeliaBooking\Domain\ValueObjects\String\Name;
9 use AmeliaBooking\Domain\ValueObjects\String\Token;
10
11 /**
12 * Class GoogleCalendarFactory
13 *
14 * @package AmeliaBooking\Domain\Factory\Google
15 */
16 class GoogleCalendarFactory
17 {
18 /**
19 * @param $data
20 *
21 * @return GoogleCalendar
22 * @throws InvalidArgumentException
23 */
24 public static function create($data)
25 {
26 $googleCalendar = new GoogleCalendar(
27 new Token($data['token']),
28 new Name(empty($data['calendarId']) ? null : $data['calendarId'])
29 );
30
31 if (isset($data['id'])) {
32 $googleCalendar->setId(new Id($data['id']));
33 }
34
35 return $googleCalendar;
36 }
37 }
38