├── .editorconfig ├── .gitattributes ├── .gitignore ├── .readthedocs.yaml ├── .travis.yml ├── CHANGELOG.md ├── LICENSE ├── README.md ├── composer.json ├── composer.lock ├── config └── laraplans.php ├── database ├── factories │ ├── PlanFactory.php │ ├── PlanFeatureFactory.php │ ├── PlanSubscriptionFactory.php │ └── PlanSubscriptionUsageFactory.php └── migrations │ ├── 2016_08_15_185912_create_plans_table.php │ ├── 2016_08_15_190000_create_plan_features_table.php │ ├── 2016_08_15_190033_create_plan_subscriptions_table.php │ └── 2016_08_15_190045_create_plan_subscription_usages_table.php ├── docs ├── Makefile ├── conf.py ├── configuration.rst ├── eloquent_scopes.rst ├── events.rst ├── index.rst ├── install.rst ├── requirements.txt └── usage.rst ├── lang ├── en │ └── messages.php └── es │ └── messages.php ├── phpunit.xml ├── src ├── Contracts │ ├── PlanFeatureInterface.php │ ├── PlanInterface.php │ ├── PlanSubscriberInterface.php │ ├── PlanSubscriptionInterface.php │ ├── PlanSubscriptionUsageInterface.php │ ├── SubscriptionBuilderInterface.php │ └── SubscriptionResolverInterface.php ├── Events │ ├── SubscriptionCanceled.php │ ├── SubscriptionCreated.php │ ├── SubscriptionPlanChanged.php │ ├── SubscriptionRenewed.php │ ├── SubscriptionSaved.php │ └── SubscriptionSaving.php ├── Exceptions │ ├── FeatureValueFormatIncompatibleException.php │ ├── InvalidIntervalException.php │ └── InvalidPlanFeatureException.php ├── Feature.php ├── LaraplansServiceProvider.php ├── Listeners │ └── PlanSubscription │ │ ├── DispatchEventWhenPlanChanges.php │ │ └── SetPeriodWhenEmpty.php ├── Models │ ├── Plan.php │ ├── PlanFeature.php │ ├── PlanSubscription.php │ └── PlanSubscriptionUsage.php ├── Period.php ├── SubscriptionAbility.php ├── SubscriptionBuilder.php ├── SubscriptionResolver.php ├── SubscriptionUsageManager.php └── Traits │ ├── BelongsToPlan.php │ └── PlanSubscriber.php ├── tests ├── Integration │ ├── Models │ │ ├── PlanSubscriptionTest.php │ │ ├── PlanSubscriptionUsageTest.php │ │ └── PlanTest.php │ ├── SubscriptionAbilityTest.php │ ├── SubscriptionBuilderTest.php │ └── SubscriptionUsageManagerTest.php ├── TestCase.php └── Unit │ ├── FeatureTest.php │ └── PeriodTest.php └── workbench ├── app └── Models │ └── User.php └── database ├── factories └── UserFactory.php └── migrations └── 2014_10_12_000000_create_users_table.php /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/.editorconfig -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/.gitignore -------------------------------------------------------------------------------- /.readthedocs.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/.readthedocs.yaml -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/.travis.yml -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/README.md -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/composer.json -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/composer.lock -------------------------------------------------------------------------------- /config/laraplans.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/config/laraplans.php -------------------------------------------------------------------------------- /database/factories/PlanFactory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/database/factories/PlanFactory.php -------------------------------------------------------------------------------- /database/factories/PlanFeatureFactory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/database/factories/PlanFeatureFactory.php -------------------------------------------------------------------------------- /database/factories/PlanSubscriptionFactory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/database/factories/PlanSubscriptionFactory.php -------------------------------------------------------------------------------- /database/factories/PlanSubscriptionUsageFactory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/database/factories/PlanSubscriptionUsageFactory.php -------------------------------------------------------------------------------- /database/migrations/2016_08_15_185912_create_plans_table.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/database/migrations/2016_08_15_185912_create_plans_table.php -------------------------------------------------------------------------------- /database/migrations/2016_08_15_190000_create_plan_features_table.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/database/migrations/2016_08_15_190000_create_plan_features_table.php -------------------------------------------------------------------------------- /database/migrations/2016_08_15_190033_create_plan_subscriptions_table.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/database/migrations/2016_08_15_190033_create_plan_subscriptions_table.php -------------------------------------------------------------------------------- /database/migrations/2016_08_15_190045_create_plan_subscription_usages_table.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/database/migrations/2016_08_15_190045_create_plan_subscription_usages_table.php -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/docs/Makefile -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/docs/conf.py -------------------------------------------------------------------------------- /docs/configuration.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/docs/configuration.rst -------------------------------------------------------------------------------- /docs/eloquent_scopes.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/docs/eloquent_scopes.rst -------------------------------------------------------------------------------- /docs/events.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/docs/events.rst -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/docs/index.rst -------------------------------------------------------------------------------- /docs/install.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/docs/install.rst -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/docs/requirements.txt -------------------------------------------------------------------------------- /docs/usage.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/docs/usage.rst -------------------------------------------------------------------------------- /lang/en/messages.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/lang/en/messages.php -------------------------------------------------------------------------------- /lang/es/messages.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/lang/es/messages.php -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/phpunit.xml -------------------------------------------------------------------------------- /src/Contracts/PlanFeatureInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Contracts/PlanFeatureInterface.php -------------------------------------------------------------------------------- /src/Contracts/PlanInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Contracts/PlanInterface.php -------------------------------------------------------------------------------- /src/Contracts/PlanSubscriberInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Contracts/PlanSubscriberInterface.php -------------------------------------------------------------------------------- /src/Contracts/PlanSubscriptionInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Contracts/PlanSubscriptionInterface.php -------------------------------------------------------------------------------- /src/Contracts/PlanSubscriptionUsageInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Contracts/PlanSubscriptionUsageInterface.php -------------------------------------------------------------------------------- /src/Contracts/SubscriptionBuilderInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Contracts/SubscriptionBuilderInterface.php -------------------------------------------------------------------------------- /src/Contracts/SubscriptionResolverInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Contracts/SubscriptionResolverInterface.php -------------------------------------------------------------------------------- /src/Events/SubscriptionCanceled.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Events/SubscriptionCanceled.php -------------------------------------------------------------------------------- /src/Events/SubscriptionCreated.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Events/SubscriptionCreated.php -------------------------------------------------------------------------------- /src/Events/SubscriptionPlanChanged.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Events/SubscriptionPlanChanged.php -------------------------------------------------------------------------------- /src/Events/SubscriptionRenewed.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Events/SubscriptionRenewed.php -------------------------------------------------------------------------------- /src/Events/SubscriptionSaved.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Events/SubscriptionSaved.php -------------------------------------------------------------------------------- /src/Events/SubscriptionSaving.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Events/SubscriptionSaving.php -------------------------------------------------------------------------------- /src/Exceptions/FeatureValueFormatIncompatibleException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Exceptions/FeatureValueFormatIncompatibleException.php -------------------------------------------------------------------------------- /src/Exceptions/InvalidIntervalException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Exceptions/InvalidIntervalException.php -------------------------------------------------------------------------------- /src/Exceptions/InvalidPlanFeatureException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Exceptions/InvalidPlanFeatureException.php -------------------------------------------------------------------------------- /src/Feature.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Feature.php -------------------------------------------------------------------------------- /src/LaraplansServiceProvider.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/LaraplansServiceProvider.php -------------------------------------------------------------------------------- /src/Listeners/PlanSubscription/DispatchEventWhenPlanChanges.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Listeners/PlanSubscription/DispatchEventWhenPlanChanges.php -------------------------------------------------------------------------------- /src/Listeners/PlanSubscription/SetPeriodWhenEmpty.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Listeners/PlanSubscription/SetPeriodWhenEmpty.php -------------------------------------------------------------------------------- /src/Models/Plan.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Models/Plan.php -------------------------------------------------------------------------------- /src/Models/PlanFeature.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Models/PlanFeature.php -------------------------------------------------------------------------------- /src/Models/PlanSubscription.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Models/PlanSubscription.php -------------------------------------------------------------------------------- /src/Models/PlanSubscriptionUsage.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Models/PlanSubscriptionUsage.php -------------------------------------------------------------------------------- /src/Period.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Period.php -------------------------------------------------------------------------------- /src/SubscriptionAbility.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/SubscriptionAbility.php -------------------------------------------------------------------------------- /src/SubscriptionBuilder.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/SubscriptionBuilder.php -------------------------------------------------------------------------------- /src/SubscriptionResolver.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/SubscriptionResolver.php -------------------------------------------------------------------------------- /src/SubscriptionUsageManager.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/SubscriptionUsageManager.php -------------------------------------------------------------------------------- /src/Traits/BelongsToPlan.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Traits/BelongsToPlan.php -------------------------------------------------------------------------------- /src/Traits/PlanSubscriber.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/src/Traits/PlanSubscriber.php -------------------------------------------------------------------------------- /tests/Integration/Models/PlanSubscriptionTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/tests/Integration/Models/PlanSubscriptionTest.php -------------------------------------------------------------------------------- /tests/Integration/Models/PlanSubscriptionUsageTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/tests/Integration/Models/PlanSubscriptionUsageTest.php -------------------------------------------------------------------------------- /tests/Integration/Models/PlanTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/tests/Integration/Models/PlanTest.php -------------------------------------------------------------------------------- /tests/Integration/SubscriptionAbilityTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/tests/Integration/SubscriptionAbilityTest.php -------------------------------------------------------------------------------- /tests/Integration/SubscriptionBuilderTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/tests/Integration/SubscriptionBuilderTest.php -------------------------------------------------------------------------------- /tests/Integration/SubscriptionUsageManagerTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/tests/Integration/SubscriptionUsageManagerTest.php -------------------------------------------------------------------------------- /tests/TestCase.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/tests/TestCase.php -------------------------------------------------------------------------------- /tests/Unit/FeatureTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/tests/Unit/FeatureTest.php -------------------------------------------------------------------------------- /tests/Unit/PeriodTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/tests/Unit/PeriodTest.php -------------------------------------------------------------------------------- /workbench/app/Models/User.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/workbench/app/Models/User.php -------------------------------------------------------------------------------- /workbench/database/factories/UserFactory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/workbench/database/factories/UserFactory.php -------------------------------------------------------------------------------- /workbench/database/migrations/2014_10_12_000000_create_users_table.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gerardojbaez/laraplans/HEAD/workbench/database/migrations/2014_10_12_000000_create_users_table.php --------------------------------------------------------------------------------