Class: EzConfig::ConfigLoader

Inherits:
Object
  • Object
show all
Defined in:
lib/prefab/config_loader.rb

Instance Method Summary collapse

Constructor Details

#initialize(logger) ⇒ ConfigLoader

Returns a new instance of ConfigLoader.



4
5
6
7
8
9
10
11
# File 'lib/prefab/config_loader.rb', line 4

def initialize(logger)
  @logger = logger
  load_ez_config
  load_project_config
  load_local_overrides
  @api_config = Concurrent::Map.new
  @immutable_config = @ez_config.merge(@project_config)
end

Instance Method Details

#calc_config ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/prefab/config_loader.rb', line 13

def calc_config
  rtn = @immutable_config.clone
  @api_config.each_key do |k|
    rtn[k] = @api_config[k]
  end
  rtn = rtn.merge(@local_overrides)
  rtn
end

#set(delta) ⇒ Object



22
23
24
# File 'lib/prefab/config_loader.rb', line 22

def set(delta)
  @api_config[delta.key] = delta.value
end