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
  @yaml_filepath ||= default_yaml_filepath
  @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

#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

#yaml_filepathObject

Returns the value of attribute yaml_filepath.



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

def yaml_filepath
  @yaml_filepath
end

Instance Method Details

#infoObject



17
18
19
# File 'lib/feature_flagger/configuration.rb', line 17

def info
  @info ||= YAML.load_file(yaml_filepath) if yaml_filepath
end

#mapped_feature_keys(resource_name = nil) ⇒ Object



21
22
23
24
25
26
# File 'lib/feature_flagger/configuration.rb', line 21

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