paddock 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/paddock.rb +9 -0
- data/spec/paddock_spec.rb +17 -0
- metadata +2 -2
data/lib/paddock.rb
CHANGED
@@ -32,9 +32,18 @@ module Paddock
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def self.features(&block)
|
35
|
+
@block = block
|
35
36
|
instance_eval(&block)
|
36
37
|
end
|
37
38
|
|
39
|
+
def self.reset!
|
40
|
+
if block = @block
|
41
|
+
features(&block)
|
42
|
+
else
|
43
|
+
raise "No paddock block defined!"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
38
47
|
def self.enable(name, options={})
|
39
48
|
Paddock::Feature.add(name, (options[:in] || :all))
|
40
49
|
end
|
data/spec/paddock_spec.rb
CHANGED
@@ -191,4 +191,21 @@ describe Paddock('development') do
|
|
191
191
|
called.should be_true
|
192
192
|
end
|
193
193
|
end
|
194
|
+
|
195
|
+
describe "resetting changes" do
|
196
|
+
before(:each) do
|
197
|
+
Paddock('development') do
|
198
|
+
disable :disabled_feature
|
199
|
+
enable :enabled_feature
|
200
|
+
end
|
201
|
+
end
|
202
|
+
|
203
|
+
it "restores original feature behavior" do
|
204
|
+
Paddock.disable :enabled_feature
|
205
|
+
feature(:enabled_feature).should be_false
|
206
|
+
|
207
|
+
Paddock.reset!
|
208
|
+
feature(:enabled_feature).should be_true
|
209
|
+
end
|
210
|
+
end
|
194
211
|
end
|