adds #enabled? to Setting
This commit is contained in:
@@ -7,6 +7,10 @@ class Setting < ActiveRecord::Base
|
|||||||
key.start_with?('feature.')
|
key.start_with?('feature.')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def enabled?
|
||||||
|
feature_flag? && value.present?
|
||||||
|
end
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
def [](key)
|
def [](key)
|
||||||
where(key: key).pluck(:value).first.presence
|
where(key: key).pluck(:value).first.presence
|
||||||
|
|||||||
@@ -28,4 +28,30 @@ describe Setting do
|
|||||||
expect(setting.feature_flag?).to eq false
|
expect(setting.feature_flag?).to eq false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "#enabled?" do
|
||||||
|
it "should be true if feature_flag and value present" do
|
||||||
|
setting = Setting.create(key: 'feature.whatever', value: 1)
|
||||||
|
expect(setting.enabled?).to eq true
|
||||||
|
|
||||||
|
setting.value = "true"
|
||||||
|
expect(setting.enabled?).to eq true
|
||||||
|
|
||||||
|
setting.value = "whatever"
|
||||||
|
expect(setting.enabled?).to eq true
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should be false if feature_flag and value blank" do
|
||||||
|
setting = Setting.create(key: 'feature.whatever')
|
||||||
|
expect(setting.enabled?).to eq false
|
||||||
|
|
||||||
|
setting.value = ""
|
||||||
|
expect(setting.enabled?).to eq false
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should be false if not feature_flag" do
|
||||||
|
setting = Setting.create(key: 'whatever', value: "whatever")
|
||||||
|
expect(setting.enabled?).to eq false
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user