adds #enabled? to Setting

This commit is contained in:
Juanjo Bazán
2016-01-25 14:07:07 +01:00
parent 05837afd72
commit bb60e6b8e0
2 changed files with 30 additions and 0 deletions

View File

@@ -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

View File

@@ -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