├── .docheader ├── .github ├── dependabot.yml ├── stale.yml └── workflows │ └── ci.yml ├── .gitignore ├── .mailmap ├── .php-cs-fixer.php ├── LICENSE ├── Makefile ├── README.md ├── composer.json ├── examples ├── basic.php ├── from-array.php ├── from-yaml.php ├── redis-initialize.php ├── redis-use.php ├── strategies.php └── symfony-expression.php ├── lib └── Qandidate │ └── Toggle │ ├── Condition.php │ ├── Context.php │ ├── ContextFactory.php │ ├── ExpressionCondition.php │ ├── Operator.php │ ├── Operator │ ├── EqualTo.php │ ├── EqualityOperator.php │ ├── GreaterThan.php │ ├── GreaterThanEqual.php │ ├── HasIntersection.php │ ├── InSet.php │ ├── LessThan.php │ ├── LessThanEqual.php │ ├── MatchesRegex.php │ ├── NotInSet.php │ └── Percentage.php │ ├── OperatorCondition.php │ ├── Serializer │ ├── InMemoryCollectionSerializer.php │ ├── OperatorConditionSerializer.php │ ├── OperatorSerializer.php │ └── ToggleSerializer.php │ ├── Toggle.php │ ├── ToggleCollection.php │ ├── ToggleCollection │ ├── InMemoryCollection.php │ └── PredisCollection.php │ └── ToggleManager.php ├── phpstan-baseline.neon ├── phpstan.neon ├── phpunit.xml.dist └── test └── Qandidate └── Toggle ├── ContextTest.php ├── ExpressionConditionTest.php ├── Operator ├── EqualToOperatorTest.php ├── GreaterThanEqualOperatorTest.php ├── GreaterThanOperatorTest.php ├── HasIntersectionTest.php ├── InSetTest.php ├── LessThanEqualOperatorTest.php ├── LessThanOperatorTest.php ├── MatchesRegexOperatorTest.php ├── NotInSetTest.php └── PercentageTest.php ├── OperatorConditionTest.php ├── Serializer ├── InMemoryCollectionSerializerTest.php ├── OperatorConditionSerializerTest.php ├── OperatorSerializerTest.php ├── TestCase.php └── ToggleSerializerTest.php ├── TestCase.php ├── ToggleCollection ├── InMemoryCollectionTest.php └── PredisCollectionTest.php ├── ToggleCollectionTest.php ├── ToggleManagerTest.php └── ToggleTest.php /.docheader: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/.docheader -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/stale.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/.github/stale.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/.gitignore -------------------------------------------------------------------------------- /.mailmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/.mailmap -------------------------------------------------------------------------------- /.php-cs-fixer.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/.php-cs-fixer.php -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/README.md -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/composer.json -------------------------------------------------------------------------------- /examples/basic.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/examples/basic.php -------------------------------------------------------------------------------- /examples/from-array.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/examples/from-array.php -------------------------------------------------------------------------------- /examples/from-yaml.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/examples/from-yaml.php -------------------------------------------------------------------------------- /examples/redis-initialize.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/examples/redis-initialize.php -------------------------------------------------------------------------------- /examples/redis-use.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/examples/redis-use.php -------------------------------------------------------------------------------- /examples/strategies.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/examples/strategies.php -------------------------------------------------------------------------------- /examples/symfony-expression.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/examples/symfony-expression.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/Condition.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/Condition.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/Context.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/Context.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/ContextFactory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/ContextFactory.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/ExpressionCondition.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/ExpressionCondition.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/Operator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/Operator.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/Operator/EqualTo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/Operator/EqualTo.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/Operator/EqualityOperator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/Operator/EqualityOperator.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/Operator/GreaterThan.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/Operator/GreaterThan.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/Operator/GreaterThanEqual.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/Operator/GreaterThanEqual.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/Operator/HasIntersection.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/Operator/HasIntersection.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/Operator/InSet.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/Operator/InSet.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/Operator/LessThan.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/Operator/LessThan.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/Operator/LessThanEqual.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/Operator/LessThanEqual.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/Operator/MatchesRegex.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/Operator/MatchesRegex.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/Operator/NotInSet.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/Operator/NotInSet.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/Operator/Percentage.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/Operator/Percentage.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/OperatorCondition.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/OperatorCondition.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/Serializer/InMemoryCollectionSerializer.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/Serializer/InMemoryCollectionSerializer.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/Serializer/OperatorConditionSerializer.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/Serializer/OperatorConditionSerializer.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/Serializer/OperatorSerializer.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/Serializer/OperatorSerializer.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/Serializer/ToggleSerializer.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/Serializer/ToggleSerializer.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/Toggle.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/Toggle.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/ToggleCollection.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/ToggleCollection.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/ToggleCollection/InMemoryCollection.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/ToggleCollection/InMemoryCollection.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/ToggleCollection/PredisCollection.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/ToggleCollection/PredisCollection.php -------------------------------------------------------------------------------- /lib/Qandidate/Toggle/ToggleManager.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/lib/Qandidate/Toggle/ToggleManager.php -------------------------------------------------------------------------------- /phpstan-baseline.neon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/phpstan-baseline.neon -------------------------------------------------------------------------------- /phpstan.neon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/phpstan.neon -------------------------------------------------------------------------------- /phpunit.xml.dist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/phpunit.xml.dist -------------------------------------------------------------------------------- /test/Qandidate/Toggle/ContextTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/ContextTest.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/ExpressionConditionTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/ExpressionConditionTest.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/Operator/EqualToOperatorTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/Operator/EqualToOperatorTest.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/Operator/GreaterThanEqualOperatorTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/Operator/GreaterThanEqualOperatorTest.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/Operator/GreaterThanOperatorTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/Operator/GreaterThanOperatorTest.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/Operator/HasIntersectionTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/Operator/HasIntersectionTest.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/Operator/InSetTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/Operator/InSetTest.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/Operator/LessThanEqualOperatorTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/Operator/LessThanEqualOperatorTest.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/Operator/LessThanOperatorTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/Operator/LessThanOperatorTest.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/Operator/MatchesRegexOperatorTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/Operator/MatchesRegexOperatorTest.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/Operator/NotInSetTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/Operator/NotInSetTest.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/Operator/PercentageTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/Operator/PercentageTest.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/OperatorConditionTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/OperatorConditionTest.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/Serializer/InMemoryCollectionSerializerTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/Serializer/InMemoryCollectionSerializerTest.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/Serializer/OperatorConditionSerializerTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/Serializer/OperatorConditionSerializerTest.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/Serializer/OperatorSerializerTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/Serializer/OperatorSerializerTest.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/Serializer/TestCase.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/Serializer/TestCase.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/Serializer/ToggleSerializerTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/Serializer/ToggleSerializerTest.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/TestCase.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/TestCase.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/ToggleCollection/InMemoryCollectionTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/ToggleCollection/InMemoryCollectionTest.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/ToggleCollection/PredisCollectionTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/ToggleCollection/PredisCollectionTest.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/ToggleCollectionTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/ToggleCollectionTest.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/ToggleManagerTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/ToggleManagerTest.php -------------------------------------------------------------------------------- /test/Qandidate/Toggle/ToggleTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qandidate-labs/qandidate-toggle/HEAD/test/Qandidate/Toggle/ToggleTest.php --------------------------------------------------------------------------------