feature_flagger 0.7.2 → 0.7.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +9 -6
- data/lib/feature_flagger/model.rb +6 -3
- data/lib/feature_flagger/version.rb +1 -1
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '08ad3deca247deb946f6fd7f95fe12747978303e'
|
4
|
+
data.tar.gz: 8512e9a0a733eaaa95c8faa61caf340786b10189
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 11e2542ada2893c96bd7588a959f424f1904e29e8b7a4a1425557e995a8cefa95c4e47b839282e28bb8a4e7d6b4ef753e24dc538ebdfbba6c8a590b8904af509
|
7
|
+
data.tar.gz: fd70b4252d581ff110ca37ce59a5e5dcae514fa040e52e1580f4ef5c24ca51313b9ec7c041a8b1c9898c3c0ce4be884605fe1d420e17b6bde0d2594db2a29140
|
data/README.md
CHANGED
@@ -24,20 +24,19 @@ Or install it yourself as:
|
|
24
24
|
## Configuration
|
25
25
|
|
26
26
|
By default, feature_flagger uses the REDIS_URL env var to setup it's storage.
|
27
|
-
You can
|
28
|
-
|
29
|
-
1. In a initializer file (e.g. `config/initializers/feature_flagger.rb`):
|
27
|
+
You can set up FeatureFlagger by creating a file called ```config/initializers/feature_flagger``` with the following lines:
|
30
28
|
```ruby
|
31
29
|
require 'redis-namespace'
|
32
30
|
require 'feature_flagger'
|
33
31
|
|
34
32
|
FeatureFlagger.configure do |config|
|
35
|
-
|
33
|
+
redis = Redis.new(host: ENV['REDIS_URL'])
|
34
|
+
namespaced = Redis::Namespace.new('feature_flagger', redis: redis)
|
36
35
|
config.storage = FeatureFlagger::Storage::Redis.new(namespaced)
|
37
36
|
end
|
38
37
|
```
|
39
38
|
|
40
|
-
|
39
|
+
1. Create a `rollout.yml` in _config_ path and declare a rollout:
|
41
40
|
```yml
|
42
41
|
account: # model name
|
43
42
|
email_marketing: # namespace (optional)
|
@@ -46,7 +45,7 @@ account: # model name
|
|
46
45
|
@dispatch team uses this rollout to introduce a new email flow for certains users. Read more at [link]
|
47
46
|
```
|
48
47
|
|
49
|
-
|
48
|
+
2. Adds rollout funcionality to your model:
|
50
49
|
```ruby
|
51
50
|
class Account < ActiveRecord::Base
|
52
51
|
include FeatureFlagger::Model
|
@@ -79,6 +78,10 @@ FeatureFlagger::KeyNotFoundError: ["account", "email_marketing", "new_email_flo"
|
|
79
78
|
Account.released_id?(42, :email_marketing, :new_email_flow)
|
80
79
|
#=> true
|
81
80
|
|
81
|
+
# Release a feature for a specific account id
|
82
|
+
Account.release_id(42, :email_marketing, :new_email_flow)
|
83
|
+
#=> true
|
84
|
+
|
82
85
|
# Get an array with all released Account ids
|
83
86
|
Account.all_released_ids_for(:email_marketing, :new_email_flow)
|
84
87
|
|
@@ -23,9 +23,7 @@ module FeatureFlagger
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def release(*feature_key)
|
26
|
-
|
27
|
-
feature = Feature.new(feature_key, resource_name)
|
28
|
-
FeatureFlagger.control.release(feature.key, id)
|
26
|
+
self.class.release_id(id, *feature_key)
|
29
27
|
end
|
30
28
|
|
31
29
|
# <b>DEPRECATED:</b> Please use <tt>unrelease</tt> instead.
|
@@ -46,6 +44,11 @@ module FeatureFlagger
|
|
46
44
|
FeatureFlagger.control.rollout?(feature.key, resource_id)
|
47
45
|
end
|
48
46
|
|
47
|
+
def release_id(resource_id, *feature_key)
|
48
|
+
feature = Feature.new(feature_key, rollout_resource_name)
|
49
|
+
FeatureFlagger.control.release(feature.key, resource_id)
|
50
|
+
end
|
51
|
+
|
49
52
|
def all_released_ids_for(*feature_key)
|
50
53
|
feature_key.flatten!
|
51
54
|
feature = Feature.new(feature_key, rollout_resource_name)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: feature_flagger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nando Sousa
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2019-01-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: redis
|
@@ -132,9 +132,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
132
132
|
version: '0'
|
133
133
|
requirements: []
|
134
134
|
rubyforge_project:
|
135
|
-
rubygems_version: 2.
|
135
|
+
rubygems_version: 2.5.2.3
|
136
136
|
signing_key:
|
137
137
|
specification_version: 4
|
138
138
|
summary: Partial release your features.
|
139
139
|
test_files: []
|
140
|
-
has_rdoc:
|