flipper
flipper
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.
Installation
Add this to your application's shard.yml
:
dependencies:
flipper:
github: metaware/flipper
Usage
require "flipper"
Flipper.adapter = Kiwi::MemoryStore.new
Flipper.adapter = Kiwi::RedisStore.new(Redis.new)
You are free to use anyone of the supported adapeters/stores from crystal-kiwi
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
Roadmap
- [x] Simple Logic Gate
- [ ] Groups
- [ ] Individual Users/Actors
- [ ] Percentage of Actors
Contributing
- 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
Credits
- A huge shoutout to flipper (Ruby) and rollout (Ruby) for inspiration.
flipper
stands on work done by greyblake on crystal-kiwi
Contributors
- Jasdeep Singh - creator, maintainer