flipper

Build Status LICENSE GitHub tag

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"

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.

Roadmap

Contributing

  1. Fork it ( https://github.com/metaware/flipper/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Credits

Contributors