adds #enabled? to Setting
This commit is contained in:
@@ -7,6 +7,10 @@ class Setting < ActiveRecord::Base
|
||||
key.start_with?('feature.')
|
||||
end
|
||||
|
||||
def enabled?
|
||||
feature_flag? && value.present?
|
||||
end
|
||||
|
||||
class << self
|
||||
def [](key)
|
||||
where(key: key).pluck(:value).first.presence
|
||||
|
||||
@@ -28,4 +28,30 @@ describe Setting do
|
||||
expect(setting.feature_flag?).to eq false
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user