summaryrefslogtreecommitdiff
path: root/vendor/phar-io/manifest/src/values/Email.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/phar-io/manifest/src/values/Email.php')
-rw-r--r--vendor/phar-io/manifest/src/values/Email.php31
1 files changed, 31 insertions, 0 deletions
diff --git a/vendor/phar-io/manifest/src/values/Email.php b/vendor/phar-io/manifest/src/values/Email.php
new file mode 100644
index 000000000..588348d89
--- /dev/null
+++ b/vendor/phar-io/manifest/src/values/Email.php
@@ -0,0 +1,31 @@
+<?php declare(strict_types = 1);
+/*
+ * This file is part of PharIo\Manifest.
+ *
+ * (c) Arne Blankerts <[email protected]>, Sebastian Heuer <[email protected]>, Sebastian Bergmann <[email protected]>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PharIo\Manifest;
+
+class Email {
+ /** @var string */
+ private $email;
+
+ public function __construct(string $email) {
+ $this->ensureEmailIsValid($email);
+
+ $this->email = $email;
+ }
+
+ public function asString(): string {
+ return $this->email;
+ }
+
+ private function ensureEmailIsValid(string $url): void {
+ if (\filter_var($url, \FILTER_VALIDATE_EMAIL) === false) {
+ throw new InvalidEmailException;
+ }
+ }
+}