Class: Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab-burndown/config/configuration.rb

Direct Known Subclasses

EnvFileConfiguration

Instance Method Summary collapse

Constructor Details

#initialize(required_keys) ⇒ Configuration

Returns a new instance of Configuration.



5
6
7
8
9
10
# File 'lib/gitlab-burndown/config/configuration.rb', line 5

def initialize(required_keys)
  @required_keys = required_keys
  @config = Hash.new
  load!
  ensure_required_keys_exist
end

Instance Method Details

#ensure_required_keys_existObject



20
21
22
23
24
# File 'lib/gitlab-burndown/config/configuration.rb', line 20

def ensure_required_keys_exist
  @required_keys.each do |required_key|
    raise NoSuchVariableError, required_key unless @config.key? required_key
  end
end

#get(variable_name) ⇒ Object



12
13
14
# File 'lib/gitlab-burndown/config/configuration.rb', line 12

def get(variable_name)
  @config[variable_name]
end

#load!Object



16
17
18
# File 'lib/gitlab-burndown/config/configuration.rb', line 16

def load!
  raise NotImplementedError
end