Method: AbstractFeatureBranch.get_store_feature

Defined in:
lib/abstract_feature_branch.rb

.get_store_feature(feature) ⇒ Object

Gets feature value (true or false) from storage (e.g. Redis client)



201
202
203
204
205
206
207
208
209
210
211
212
# File 'lib/abstract_feature_branch.rb', line 201

def get_store_feature(feature)
  raise 'Feature storage (e.g. Redis) is not setup!' if feature_store.nil?
  feature = feature.to_s
  value = feature_store.hget(REDIS_HKEY, feature)
  if value.nil?
    matching_feature = get_store_features.find { |store_feature| store_feature.downcase == feature.downcase }
    value = feature_store.hget(REDIS_HKEY, matching_feature) if matching_feature
  end
  return nil if value.nil?
  return VALUE_SCOPED if scoped_value?(value)
  value.to_s.downcase == 'true'
end