Feature flipping is the act of enabling or disabling features or parts of your application, ideally without re-deploying or changing anything in your code base.
Add this to your application's
dependencies: flipper: github: metaware/flipper
You are free to use anyone of the supported adapters/stores from crystal-kiwi
Flipper.adapter = Kiwi::RedisStore.new(Redis.new)
Flipper.enable(:feature_name) if Flipper.enabled?(:feature_name) puts "Feature launched, Let's roll!" else puts "Feature not released yet." end Flipper.disable(:search) if Flipper.disabled?(:search) puts "Search is not available yet!" end
Note: I strongly recommend to not use
Kiwi::MemoryStore for development or production environments. It's suitable only for your test environments.
- Simple Logic Gate
- Individual Users/Actors
- Percentage of Actors
- Fork it ( https://github.com/metaware/flipper/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
- A huge shoutout to flipper (Ruby) and rollout (Ruby) for inspiration.
flipperstands on work done by greyblake on crystal-kiwi
- Jasdeep Singh - creator, maintainer