Class: FeatureFlagger::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/feature_flagger/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



5
6
7
8
9
10
# File 'lib/feature_flagger/configuration.rb', line 5

def initialize
  @storage       ||= Storage::Redis.default_client
  @manifest_source ||= FeatureFlagger::ManifestSources::WithYamlFile.new
  @notifier_callback = nil
  @cache_store = nil
end

Instance Attribute Details

#cache_storeObject

Returns the value of attribute cache_store.



3
4
5
# File 'lib/feature_flagger/configuration.rb', line 3

def cache_store
  @cache_store
end

#manifest_sourceObject

Returns the value of attribute manifest_source.



3
4
5
# File 'lib/feature_flagger/configuration.rb', line 3

def manifest_source
  @manifest_source
end

#notifier_callbackObject

Returns the value of attribute notifier_callback.



3
4
5
# File 'lib/feature_flagger/configuration.rb', line 3

def notifier_callback
  @notifier_callback
end

#storageObject

Returns the value of attribute storage.



3
4
5
# File 'lib/feature_flagger/configuration.rb', line 3

def storage
  @storage
end

Instance Method Details

#infoObject



19
20
21
# File 'lib/feature_flagger/configuration.rb', line 19

def info
  @manifest_source.resolved_info
end

#mapped_feature_keys(resource_name = nil) ⇒ Object



23
24
25
26
27
28
# File 'lib/feature_flagger/configuration.rb', line 23

def mapped_feature_keys(resource_name = nil)
  info_filtered = resource_name ? info[resource_name] : info
  [].tap do |keys|
    make_keys_recursively(info_filtered).each { |key| keys.push(join_key(resource_name, key)) }
  end
end