Class: Philiprehberger::FeatureFlag::Backends::YamlBackend

Inherits:
Object
  • Object
show all
Defined in:
lib/philiprehberger/feature_flag/backends/yaml_backend.rb

Instance Method Summary collapse

Constructor Details

#initialize(path) ⇒ YamlBackend

Returns a new instance of YamlBackend.

Raises:

  • (ArgumentError)


9
10
11
12
13
14
# File 'lib/philiprehberger/feature_flag/backends/yaml_backend.rb', line 9

def initialize(path)
  raise ArgumentError, 'path is required for YAML backend' if path.nil?

  @path = path
  load_flags
end

Instance Method Details

#allObject



24
25
26
# File 'lib/philiprehberger/feature_flag/backends/yaml_backend.rb', line 24

def all
  @flags.dup
end

#get(flag) ⇒ Object



16
17
18
# File 'lib/philiprehberger/feature_flag/backends/yaml_backend.rb', line 16

def get(flag)
  @flags[flag.to_s]
end

#reload!Object



28
29
30
# File 'lib/philiprehberger/feature_flag/backends/yaml_backend.rb', line 28

def reload!
  load_flags
end

#set(_flag, _value) ⇒ Object

Raises:

  • (NotImplementedError)


20
21
22
# File 'lib/philiprehberger/feature_flag/backends/yaml_backend.rb', line 20

def set(_flag, _value)
  raise NotImplementedError, 'YAML backend is read-only'
end