rolloutbr 2.0.8br → 2.1br
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.
- data/Gemfile.lock +3 -3
- data/lib/rollout/version.rb +1 -1
- data/lib/rollout.rb +12 -16
- metadata +5 -6
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
|
4
|
+
rollout (2.0.0a)
|
5
5
|
redis
|
6
6
|
|
7
7
|
GEM
|
@@ -18,7 +18,7 @@ GEM
|
|
18
18
|
mocha (0.9.8)
|
19
19
|
rake
|
20
20
|
rake (0.9.2.2)
|
21
|
-
redis (3.0.
|
21
|
+
redis (3.0.2)
|
22
22
|
rspec (2.10.0)
|
23
23
|
rspec-core (~> 2.10.0)
|
24
24
|
rspec-expectations (~> 2.10.0)
|
@@ -36,5 +36,5 @@ DEPENDENCIES
|
|
36
36
|
bundler (>= 1.0.0)
|
37
37
|
jeweler (~> 1.6.4)
|
38
38
|
mocha (= 0.9.8)
|
39
|
-
|
39
|
+
rollout!
|
40
40
|
rspec (~> 2.10.0)
|
data/lib/rollout/version.rb
CHANGED
data/lib/rollout.rb
CHANGED
@@ -76,16 +76,11 @@ class Rollout
|
|
76
76
|
end
|
77
77
|
end
|
78
78
|
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
class << self
|
84
|
-
attr_accessor :storage_hash, :cleared
|
85
|
-
end
|
79
|
+
@@storage_hash = {}
|
80
|
+
@@cleared = Time.now
|
81
|
+
puts @@cleared
|
86
82
|
|
87
83
|
def initialize(storage, opts = {})
|
88
|
-
self.class.storage_hash = {}
|
89
84
|
@storage = storage
|
90
85
|
@groups = {:all => lambda { |user| true }}
|
91
86
|
@legacy = Legacy.new(@storage) if opts[:migrate]
|
@@ -158,14 +153,16 @@ class Rollout
|
|
158
153
|
end
|
159
154
|
|
160
155
|
def get(feature, force=false)
|
161
|
-
if force ||
|
162
|
-
|
163
|
-
|
156
|
+
if force || !@@cleared || Time.now >= (@@cleared + period)
|
157
|
+
puts "forced"
|
158
|
+
@@storage_hash = {}
|
159
|
+
@@cleared = Time.now
|
164
160
|
end
|
165
|
-
if
|
166
|
-
|
161
|
+
if @@storage_hash[feature].nil?
|
162
|
+
puts "nil"
|
163
|
+
@@storage_hash[feature] = @storage.get(key(feature)) || '0||'
|
167
164
|
end
|
168
|
-
string =
|
165
|
+
string = @@storage_hash[feature]
|
169
166
|
if string || !migrate?
|
170
167
|
Feature.new(feature, string)
|
171
168
|
else
|
@@ -193,13 +190,12 @@ class Rollout
|
|
193
190
|
end
|
194
191
|
|
195
192
|
def with_feature(feature)
|
196
|
-
f = get(feature
|
193
|
+
f = get(feature)
|
197
194
|
yield(f)
|
198
195
|
save(f)
|
199
196
|
end
|
200
197
|
|
201
198
|
def save(feature)
|
202
|
-
self.class.storage_hash = {}
|
203
199
|
@storage.set(key(feature.name), feature.serialize)
|
204
200
|
@storage.set(features_key, (features | [feature.name]).join(","))
|
205
201
|
end
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rolloutbr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: -
|
5
|
-
prerelease:
|
4
|
+
hash: -263272579
|
5
|
+
prerelease: 3
|
6
6
|
segments:
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
- 8
|
8
|
+
- 1
|
10
9
|
- br
|
11
|
-
version: 2.
|
10
|
+
version: 2.1br
|
12
11
|
platform: ruby
|
13
12
|
authors:
|
14
13
|
- James Golick
|
@@ -16,7 +15,7 @@ autorequire:
|
|
16
15
|
bindir: bin
|
17
16
|
cert_chain: []
|
18
17
|
|
19
|
-
date: 2013-
|
18
|
+
date: 2013-02-25 00:00:00 Z
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
22
21
|
name: rspec
|