rollout 2.2.2 → 2.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/rollout.rb +16 -31
- data/lib/rollout/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e144c36d4bea33448c00e67139f6a96b484a6880
|
4
|
+
data.tar.gz: b7de1dcc0f142ccefb919818837c832fb3d6534a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db1e11964fc48dd3fd2d1afe7eaa927ac7bea6929302f6c60257e0849e52a36fa585f1c7fc9b74e8e0f6ef4729df3d65b2535fafb9a5863cb0d9a57c71d60718
|
7
|
+
data.tar.gz: ed7d052d1851df8837a671607b4aa3e5a723a7da2ac3459cf28851243453affe934108bdd6c4f624a277322cd4fa983a0e17c9096b28a69c11cdd07050c35c2d
|
data/Gemfile.lock
CHANGED
data/lib/rollout.rb
CHANGED
@@ -107,7 +107,6 @@ class Rollout
|
|
107
107
|
@storage = storage
|
108
108
|
@options = opts
|
109
109
|
@groups = { all: lambda { |user| true } }
|
110
|
-
@legacy = Legacy.new(opts[:legacy_storage] || @storage) if opts[:migrate]
|
111
110
|
end
|
112
111
|
|
113
112
|
def activate(feature)
|
@@ -207,18 +206,7 @@ class Rollout
|
|
207
206
|
|
208
207
|
def get(feature)
|
209
208
|
string = @storage.get(key(feature))
|
210
|
-
|
211
|
-
Feature.new(feature, string, @options)
|
212
|
-
else
|
213
|
-
info = @legacy.info(feature)
|
214
|
-
f = Feature.new(feature)
|
215
|
-
f.percentage = info[:percentage]
|
216
|
-
f.percentage = 100 if info[:global].include? feature
|
217
|
-
f.groups = info[:groups].map { |g| g.to_sym }
|
218
|
-
f.users = info[:users].map { |u| u.to_s }
|
219
|
-
save(f)
|
220
|
-
f
|
221
|
-
end
|
209
|
+
Feature.new(feature, string, @options)
|
222
210
|
end
|
223
211
|
|
224
212
|
def features
|
@@ -247,26 +235,23 @@ class Rollout
|
|
247
235
|
end
|
248
236
|
|
249
237
|
private
|
250
|
-
def key(name)
|
251
|
-
"feature:#{name}"
|
252
|
-
end
|
253
238
|
|
254
|
-
|
255
|
-
|
256
|
-
|
239
|
+
def key(name)
|
240
|
+
"feature:#{name}"
|
241
|
+
end
|
257
242
|
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
save(f)
|
262
|
-
end
|
243
|
+
def features_key
|
244
|
+
"feature:__features__"
|
245
|
+
end
|
263
246
|
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
247
|
+
def with_feature(feature)
|
248
|
+
f = get(feature)
|
249
|
+
yield(f)
|
250
|
+
save(f)
|
251
|
+
end
|
268
252
|
|
269
|
-
|
270
|
-
|
271
|
-
|
253
|
+
def save(feature)
|
254
|
+
@storage.set(key(feature.name), feature.serialize)
|
255
|
+
@storage.set(features_key, (features | [feature.name.to_sym]).join(","))
|
256
|
+
end
|
272
257
|
end
|
data/lib/rollout/version.rb
CHANGED