OwlCyberSecurity - MANAGER
Edit File: PersistenceScope.php
<?php namespace Give\Framework\FieldsAPI\ValueObjects; /** * The scope of the field for use in persistence. The two built-in scopes are donation and donor, but the scope may be * any custom string. Using a custom scope allows for an add-on to either not store the field, or store it in a custom * location. * * @since 2.32.0 */ class PersistenceScope { public const DONATION = 'donation'; public const SUBSCRIPTION = 'subscription'; public const DONOR = 'donor'; public const CALLBACK = 'callback'; /** * @var string */ private $scope; /** * @since 2.32.0 */ public static function donation(): self { return new self(self::DONATION); } /** * @since 2.32.0 */ public static function donor(): self { return new self(self::DONOR); } /** * @since 3.0.0 */ public static function subscription(): self { return new self(self::SUBSCRIPTION); } /** * @since 2.32.0 */ public static function callback(): self { return new self(self::CALLBACK); } /** * @since 2.32.0 */ public function __construct(string $scope) { $this->scope = $scope; } /** * @since 2.32.0 */ public function isDonation(): bool { return $this->scope === self::DONATION; } /** * @since 3.0.0 */ public function isSubscription(): bool { return $this->scope === self::SUBSCRIPTION; } /** * @since 2.32.0 */ public function isDonor(): bool { return $this->scope === self::DONOR; } /** * @since 2.32.0 */ public function isCallback(): bool { return $this->scope === self::CALLBACK; } /** * @since 2.32.0 * * @param self|string $scope */ public function is($scope): bool { if ($scope instanceof self) { $scope = $scope->scope; } return $this->scope === $scope; } /** * @since 2.32.0 */ public function __toString() { return $this->scope; } }