Class: SimpleSwitch::FeatureManagerYaml

Inherits:
Object
  • Object
show all
Includes:
ManagerSharedMethods
Defined in:
lib/simple_switch/feature_manager_yaml.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ManagerSharedMethods

#off?, #on?, #turn_off, #turn_on

Constructor Details

#initializeFeatureManagerYaml

Returns a new instance of FeatureManagerYaml.



6
7
8
9
10
# File 'lib/simple_switch/feature_manager_yaml.rb', line 6

def initialize
  @file_dir       = SimpleSwitch.feature_config_file_dir
  @file_name      = SimpleSwitch.feature_config_file_name
  @feature_config = load_config
end

Instance Attribute Details

#feature_configObject (readonly)

Returns the value of attribute feature_config.



4
5
6
# File 'lib/simple_switch/feature_manager_yaml.rb', line 4

def feature_config
  @feature_config
end

#file_dirObject (readonly)

Returns the value of attribute file_dir.



4
5
6
# File 'lib/simple_switch/feature_manager_yaml.rb', line 4

def file_dir
  @file_dir
end

#file_nameObject (readonly)

Returns the value of attribute file_name.



4
5
6
# File 'lib/simple_switch/feature_manager_yaml.rb', line 4

def file_name
  @file_name
end

Class Method Details

.instanceObject



12
13
14
# File 'lib/simple_switch/feature_manager_yaml.rb', line 12

def self.instance
  return @@instance ||= send(:new)
end

Instance Method Details

#delete(feature) ⇒ Object



24
25
26
27
28
# File 'lib/simple_switch/feature_manager_yaml.rb', line 24

def delete(feature)
  feature_config.delete(feature) if valid_feature_name?(feature)

  save_to_yaml
end

#update(feature, env, value) ⇒ Object



18
19
20
21
22
# File 'lib/simple_switch/feature_manager_yaml.rb', line 18

def update(feature, env, value)
  states(feature)[env] = value if valid_feature_name_for_env?(feature, env)

  save_to_yaml
end