Warning
Feature Creep's API is unstable right now. It should be usable sometime soon, but until then consider it possessed by zombie ghosts and trust it at your own peril.
Introduction
Feature Creep allows you to conditionally roll out features. You can use different backends and strategies, or write your own. Currently, Feature Creep consists of three gems:
Installation
Add the gems to your application's Gemfile
:
gem 'feature_creep'
gem 'feature_creep-redis'
gem 'feature_creep-simple_strategy'
And then execute:
$ bundle
Or install the gems yourself:
$ gem install feature_creep feature_creep-redis feature_creep-simple_strategy
Usage
scope = lambda { |agent_id| User.find(agent_id).can?(:some_scope) }
@feature_creep = FeatureCreep.new(FeatureCreep::RedisDataStore.new(Redis.new,"parent_namespace"),
FeatureCreep::SimpleStrategy.warden,
FeatureCreep::SimpleStrategy.info,
{
:scopes => {:some_scope_name => scope},
:features => [:feature_1, :feature_2]
}
)
More Info
You can find more info on GitHub for all three gems: