Updated Drupal to 8.6. This goes with the following updates because it's possible...
[yaffs-website] / vendor / drush / drush / src / SiteAlias / SiteAliasName.php
index d4be0f35d78fb02adb5e8c4c80a3bf197543de89..f936c97a5830a549e9876aa405196fdc44f83d0e 100644 (file)
@@ -42,212 +42,6 @@ namespace Drush\SiteAlias;
  * - All environments in one site record SHOULD be different versions
  *     of the same site (e.g. dev / test / live).
  */
-class SiteAliasName
+class SiteAliasName extends \Consolidation\SiteAlias\SiteAliasName
 {
-    protected $sitename;
-    protected $env;
-
-    /**
-     * Match the parts of a regex name.
-     */
-    const ALIAS_NAME_REGEX = '%^@?([a-zA-Z0-9_-]+)(\.[a-zA-Z0-9_-]+)?$%';
-
-    /**
-     * Create a new site alias name
-     *
-     * @param string $item
-     * @return SiteAliasName
-     */
-    public static function parse($item)
-    {
-        $aliasName = new self();
-        $aliasName->doParse($item);
-        return $aliasName;
-    }
-
-    /**
-     * Creae a SiteAliasName object from an alias name string.
-     *
-     * @param string $sitename The alias name for the site.
-     * @param string $env The name for the site's environment.
-     */
-    public function __construct($sitename = null, $env = null)
-    {
-        $this->sitename = $sitename;
-        $this->env = $env;
-    }
-
-    /**
-     * Convert an alias name back to a string.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        $parts = [ $this->sitename() ];
-        if ($this->hasEnv()) {
-            $parts[] = $this->env();
-        }
-        return '@' . implode('.', $parts);
-    }
-
-    /**
-     * Determine whether or not the provided name is an alias name.
-     *
-     * @param string $aliasName
-     * @return bool
-     */
-    public static function isAliasName($aliasName)
-    {
-        // Alias names provided by users must begin with '@'
-        if (empty($aliasName) || ($aliasName[0] != '@')) {
-            return false;
-        }
-        return preg_match(self::ALIAS_NAME_REGEX, $aliasName);
-    }
-
-    /**
-     * Return the sitename portion of the alias name. By definition,
-     * every alias must have a sitename. If the site name is implicit,
-     * then 'self' is assumed.
-     *
-     * @return string
-     */
-    public function sitename()
-    {
-        return empty($this->sitename) ? 'self' : $this->sitename;
-    }
-
-    /**
-     * Set the sitename portion of the alias name
-     *
-     * @param string $sitename
-     */
-    public function setSitename($sitename)
-    {
-        $this->sitename = $sitename;
-    }
-
-    /**
-     * In general, all aliases have a sitename. The time when one will not
-     * is when an environment name `@env` is used as a shortcut for `@self.env`
-     *
-     * @return bool
-     */
-    public function hasSitename()
-    {
-        return !empty($this->sitename);
-    }
-
-    /**
-     * Return true if this alias name contains an 'env' portion.
-     *
-     * @return bool
-     */
-    public function hasEnv()
-    {
-        return !empty($this->env);
-    }
-
-    /**
-     * Set the environment portion of the alias record.
-     *
-     * @param string
-     */
-    public function setEnv($env)
-    {
-        $this->env = $env;
-    }
-
-    /**
-     * Return the 'env' portion of the alias record.
-     *
-     * @return string
-     */
-    public function env()
-    {
-        return $this->env;
-    }
-
-    /**
-     * Return true if this alias name is the 'self' alias.
-     *
-     * @return bool
-     */
-    public function isSelf()
-    {
-        return ($this->sitename == 'self') && !isset($this->env);
-    }
-
-    /**
-     * Return true if this alias name is the 'none' alias.
-     */
-    public function isNone()
-    {
-        return ($this->sitename == 'none') && !isset($this->env);
-    }
-
-    /**
-     * Convert the parts of an alias name to its various component parts.
-     *
-     * @param string $aliasName a string representation of an alias name.
-     */
-    protected function doParse($aliasName)
-    {
-        // Example contents of $matches:
-        //
-        // - a.b:
-        //     [
-        //       0 => 'a.b',
-        //       1 => 'a',
-        //       2 => '.b',
-        //     ]
-        //
-        // - a:
-        //     [
-        //       0 => 'a',
-        //       1 => 'a',
-        //     ]
-        if (!preg_match(self::ALIAS_NAME_REGEX, $aliasName, $matches)) {
-            return false;
-        }
-
-        // If $matches contains only two items, then assume the alias name
-        // contains only the environment.
-        if (count($matches) == 2) {
-            return $this->processSingleItem($matches[1]);
-        }
-
-        $this->sitename = $matches[1];
-        $this->env = ltrim($matches[2], '.');
-        return true;
-    }
-
-    /**
-     * Process an alias name provided as '@sitename'.
-     *
-     * @param string $sitename
-     * @return true
-     */
-    protected function processSingleItem($item)
-    {
-        if ($this->isSpecialAliasName($item)) {
-            $this->setSitename($item);
-            return true;
-        }
-        $this->sitename = '';
-        $this->env = $item;
-        return true;
-    }
-
-    /**
-     * Determine whether the requested name is a special alias name.
-     *
-     * @param string $item
-     * @return boolean
-     */
-    protected function isSpecialAliasName($item)
-    {
-        return ($item == 'self') || ($item == 'none');
-    }
 }