PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.20
Booking for Appointments and Events Calendar – Amelia v1.2.20
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 3 years ago
GoogleCalendarFactory.php
39 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 /**
20 * @param $data
21 *
22 * @return GoogleCalendar
23 * @throws InvalidArgumentException
24 */
25 public static function create($data)
26 {
27 $googleCalendar = new GoogleCalendar(
28 new Token($data['token']),
29 new Name(empty($data['calendarId']) ? null : $data['calendarId'])
30 );
31
32 if (isset($data['id'])) {
33 $googleCalendar->setId(new Id($data['id']));
34 }
35
36 return $googleCalendar;
37 }
38 }
39