Flipper is a small library for flipping features on and off in .NET projects.
It was inspired by the rails gem rollout. https://github.com/jamesgolick/rollout
It is available via a nuget package https://www.nuget.org/packages/Flipper
Install-Package Flipper
Create an actuator
var actuator = new Flipper.Actuator(new RedisClient());
Define a new feature
var feature = actuator.Get("feature");
Allowing a percentage of users
//Allows 10% of users to use the feature
actuator.ActivatePercentage(feature, 10);
Creating a group
actuator.DefineGroup("betaUsers", new List<string> () { "1", "2", "15" });
Assign a group to a feature
actuator.ActivateGroup(feature, "betaUsers");
Assign a user to a feature
actuator.ActivateUser(feature, "1");
Check if a feature is active
//True only if the percentage is 100
actuator.IsActive(feature);
//Indicates if the user is in the percentage, users, or a group
actuator.IsActive(feature, "1");
- Added Custom Func<string, Feature, bool> instead of hardcoded parsing
- Default is same as the old way
- Renamed Flipper class to Actuator
- Added test coverage of basic features
- Add and example project showing use
- Make percentages accurate in lower sample sizes
- More Tests