Skip to content
Feature Flipper, Feature Flags, Rollout Flags, Feature Toggles for Crystal
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
spec
src
.editorconfig
.gitignore
.travis.yml
LICENSE
README.md
shard.yml

README.md

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

  • Simple Logic Gate
  • Groups
  • Individual Users/Actors
  • Percentage of Actors

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

You can’t perform that action at this time.